Неправильная версия Java сообщается
Я использую Windows 7 Professional x64 и у меня установлены следующие версии 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
в моих переменных окружения у меня есть PATH
содержащий C:\Program Files\Java\jdk1.6.0_24\bin
а также JAVA_HOME
установлен в C:\Program Files\Java\jdk1.6.0_24\bin
Однако работает java -version
отчеты
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)
Как это так, когда в моих переменных среды нет ссылки на эту версию Java.
Любая помощь в этом вопросе будет отличной, поскольку я пытаюсь запустить Apache ANT с использованием Java 1.6.
6 ответов
Вы, вероятно, скопировали java.exe в один из системных путей (AFAIK - это поведение по умолчанию для установщика Java). Чтобы проверить, что на самом деле выполняется при запуске 'java -version', запустите из командной строки:for %I in (java.exe) do @echo %~$PATH:I
и он скажет вам, где это.
При установке общедоступной JRE (используемой плагином Java) файл java.exe также создается в C:\WINNT\system32 (IIRC). Вероятно, выполняется эта команда java, поскольку C: \ WINNT \ system32 находится перед каталогом JDK/bin в вашей переменной PATH.
Поместите каталог JDK/bin в начало ПУТИ
Папки PATH проверяются в порядке их появления. Попробуйте переместить Java-путь вперед. Если это решит проблему, то у вас есть другая версия на вашем пути.
Это сообщит правильную версию Java, а также подскажет вам, в чем проблема:
@ECHO off
ECHO ---------------
SET "JAVA_HOME=C:\Path to wherever\JDKwhatever"
SET "PATH=%JAVA_HOME%\bin;%PATH%"
java -version
ECHO ---------------
pause
Я предлагаю вам удалить все JDK и JRE. Затем вы устанавливаете последнюю версию JDK и обновляете свой путь к классу, JAVA_HOME и путь. Это сработало для меня.
Как я недавно узнал, убедитесь, что вы определяете JAVA_HOME
в разделе "Системные переменные", а не в разделе "Пользовательские переменные".
я имел %JAVA_HOME%\bin
в начале PATH
но это не сработало - добавление JAVA_HOME
чтобы система исправила проблему.