Es wird eine falsche Java-Version gemeldet


17

Ich verwende Windows 7 Professional x64 und habe die folgenden Java-Versionen installiert:

x64

  • C: \ Programme \ Java
    • jdk1.6.0_24
    • jdk1.7.0_04
    • jdk1.7.0_07
    • jre6
    • jre7

x86

  • C: \ Programme (x86) \ Java
    • jre1.6.0_07
    • jre6
    • jre7

In meinen Umgebungsvariablen habe ich mein PATHContaining C:\Program Files\Java\jdk1.6.0_24\binund JAVA_HOMEsetze aufC:\Program Files\Java\jdk1.6.0_24\bin

Allerdings laufen java -versionBerichte

java version "1.7.0_07"
Java(TM) SE Runtime Environment (build 1.7.0_07-b10)
Java HotSpot(TM) 64-Bit Server VM (build 23.3-b01, mixed mode)

Wie ist dies der Fall, wenn in meinen Umgebungsvariablen kein Verweis auf diese Java-Version vorhanden ist?

Jede Hilfe zu diesem Thema wäre großartig, da ich versuche, Apache ANT mit Java 1.6 auszuführen .

Antworten:


27

Sie haben wahrscheinlich java.exe in einen der Systempfade kopiert (AFAIK ist das Standardverhalten des Java-Installationsprogramms). Um zu überprüfen, was beim Ausführen von 'java -version' tatsächlich ausgeführt wird, führen Sie Folgendes aus der Befehlszeile aus:
for %I in (java.exe) do @echo %~$PATH:Iund es wird Ihnen angezeigt, wo es sich befindet.


1
Wow - das ist so hilfreich! Aus irgendeinem Grund java.exeist in System32. Ich werde es den Pfad hinauf bewegen, wie erwähnt.
Malachi

1
Das gleiche Problem gab es hier java.exebei system32ANDProgramData\Oracle\javapath
Kevin Labécot

Wenn Sie sich fragen, was Sie als Nächstes tun sollen, können Sie das exes umbenennen . I umbenannt java.exe, javaw.exeund javaws.exezu java-foobar.exe, javaw-foobar.exeund javaws-foobar.exejeweils.
Javatarz

Das erhöht die Anzahl der Stellen, die ich überprüfen muss, auf 4: PATH, JAVA_HOME, Control Panels und jetzt auch System32 ... Wow. Eines Tages wird die Registrierung 5. werden. Und Ihnen danke ich, Sir.
Jaroslav Záruba

2

Die PATH-Ordner werden in der Reihenfolge überprüft, in der sie angezeigt werden. Versuchen Sie, den Java-Pfad nach vorne zu verschieben. Wenn dies das Problem behebt, haben Sie eine andere Version auf Ihrem Weg.


2

Bei der Installation einer öffentlichen JRE (vom Java-Plugin verwendet) wird auch eine java.exe-Datei in C: \ WINNT \ system32 (IIRC) erstellt. Wahrscheinlich wird dieser Java-Befehl ausgeführt, da C: \ WINNT \ system32 vor dem Verzeichnis JDK / bin in Ihrem PATH steht.

Stellen Sie das Verzeichnis JDK / bin an den Anfang des PFADS


0

Dadurch wird die korrekte Java-Version gemeldet, und Sie werden auch darauf hingewiesen, wo das Problem liegt:

@ECHO off
ECHO ---------------
SET "JAVA_HOME=C:\Path to wherever\JDKwhatever"
SET "PATH=%JAVA_HOME%\bin;%PATH%"
java -version
ECHO ---------------
pause

0

Ich schlage vor, dass Sie alle JDKs und JREs deinstallieren. Anschließend installieren Sie das neueste JDK und aktualisieren Ihren Klassenpfad, JAVA_HOME und Ihren Pfad. Das hat bei mir funktioniert.


-1

Wie ich kürzlich herausgefunden habe, stellen Sie sicher, dass Sie JAVA_HOMEim Abschnitt "Systemvariablen" und nicht im Abschnitt "Benutzervariablen" definieren.

Ich hatte %JAVA_HOME%\binam Anfang, PATHaber es hat nicht funktioniert - das Hinzufügen JAVA_HOMEzum System hat das Problem behoben.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.