13

Я использую 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 ответов6

21

Вы, вероятно, скопировали java.exe в один из системных путей (AFAIK - поведение по умолчанию для установщика Java). Чтобы проверить, что на самом деле выполняется при запуске 'java -version', запустите из командной строки:
for %I in (java.exe) do @echo %~$PATH:I и он скажет вам, где он находится.

2

При установке общедоступной JRE (используемой плагином Java) файл java.exe также создается в C:\WINNT\system32 (IIRC). Вероятно, эта команда java выполняется, поскольку C:\WINNT\system32 находится перед каталогом JDK/bin в вашей переменной PATH.

Поместите каталог JDK/bin в начало ПУТИ

2

Папки PATH проверяются в порядке их появления. Попробуйте переместить путь Java на фронт. Если это решает проблему, то у вас есть другая версия на вашем пути.

0

Это сообщит правильную версию Java, а также подскажет вам, в чем проблема:

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

Я предлагаю вам удалить все JDK и JRE. Затем вы устанавливаете последнюю версию JDK и обновляете свой путь к классу, JAVA_HOME и путь. Это сработало для меня.

-1

Как я недавно узнал, убедитесь, что вы определяете JAVA_HOME в разделе "Системные переменные", а не в разделе "Пользовательские переменные".

У меня был %JAVA_HOME%\bin в начале PATH но он не работал - добавление JAVA_HOME в систему исправило проблему.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .