Zgłaszano błędną wersję Java

17

Korzystam z systemu Windows 7 Professional x64 i mam zainstalowane następujące wersje Java:

x64

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

x86

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

w moich zmiennych środowiskowych mam moje PATHzawierające C:\Program Files\Java\jdk1.6.0_24\bini JAVA_HOMEustawione naC:\Program Files\Java\jdk1.6.0_24\bin

Jednak uruchamianie java -versionraportów

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)

Jak to się dzieje, gdy nie ma odniesienia do tej wersji Java w moich zmiennych środowiskowych.

Każda pomoc w tej kwestii byłaby świetna, ponieważ próbuję uruchomić Apache ANT przy użyciu Java 1.6.

Malachiasz
źródło

Odpowiedzi:

27

Prawdopodobnie masz plik java.exe skopiowany do jednej ze ścieżek systemowych (AFAIK, to domyślne zachowanie instalatora Java). Aby sprawdzić, co faktycznie wykonuje po uruchomieniu „java -version”, uruchom z wiersza poleceń:
for %I in (java.exe) do @echo %~$PATH:Ii powie ci, gdzie to jest.

wmz
źródło
1
Wow - to bardzo pomocne! Z jakiegoś powodu java.exejest w systemie32. Przeniosę to na ścieżkę, jak wspomniano.
Malachi
1
Ten sam problem tutaj, java.exebył w system32IProgramData\Oracle\javapath
Kevin Labécot
Jeśli zastanawiasz się, co dalej, możesz zmienić nazwę exes. I przemianowany java.exe, javaw.exea javaws.exedo java-foobar.exe, javaw-foobar.exei javaws-foobar.exeodpowiednio.
javatarz
Zwiększa to liczbę miejsc, które muszę sprawdzić do 4: ŚCIEŻKA, JAVA_HOME, Panele sterowania, a teraz także System32 ... Po prostu wow. Pewnego dnia rejestr stanie się na 5. miejscu. I dziękuję panu.
Jaroslav Záruba
2

Foldery PATH są sprawdzane w kolejności ich wyświetlania. Spróbuj przenieść ścieżkę Java na przód. Jeśli to rozwiązuje problem, masz inną wersję gdzieś na swojej ścieżce.

Chris Nava
źródło
2

Podczas instalowania publicznego środowiska JRE (używanego przez wtyczkę Java) plik java.exe jest również tworzony w C: \ WINNT \ system32 (IIRC). Prawdopodobnie jest to polecenie Java, które jest wykonywane, ponieważ C: \ WINNT \ system32 znajduje się przed katalogiem JDK / bin w ŚCIEŻCE.

Umieść katalog JDK / bin na początku ŚCIEŻKI

Pyuri Sahu
źródło
0

Spowoduje to zgłoszenie poprawnej wersji Java i podpowie ci, na czym polega problem:

@ECHO off
ECHO ---------------
SET "JAVA_HOME=C:\Path to wherever\JDKwhatever"
SET "PATH=%JAVA_HOME%\bin;%PATH%"
java -version
ECHO ---------------
pause
djangofan
źródło
0

Sugeruję odinstalowanie wszystkich JDK i JRE. Następnie instalujesz najnowszy pakiet JDK i aktualizujesz ścieżkę klasy, JAVA_HOME i ścieżkę. To zadziałało dla mnie.

Abderrahmen
źródło
-1

Jak niedawno się dowiedziałem, upewnij się, że definiujesz JAVA_HOMEw sekcji „Zmienne systemowe”, a nie w sekcji „Zmienne użytkownika”.

Miałem %JAVA_HOME%\binna początku, PATHale to nie działało - dodanie JAVA_HOMEdo systemu rozwiązało problem.

Paweł
źródło