java.exe всегда указывает на путь JRE, но не JDK

У меня установлены jdk и jre на Windows 7.

Я установил JAVA_HOME на

C:\Program Files\Java\jdk1.6.0_23

я добавил

C:\Program Files\Java\jdk1.6.0_23\bin

к ПУТИ.

но java.exe все еще указывает на мой каталог jre, который

C:\Program Files\Java\jre6\bin

с тех пор, как я бегу

java.exe -server

он жалуется

Error: no `server' JVM at `C:\Program Files\Java\jre6\bin\server\jvm.dll'.

может кто подскажет что еще нужно установить?


person Leon    schedule 09.03.2011    source источник
comment
Просто хотел подтвердить, перезапустили ли вы оболочку после изменения переменных среды?   -  person Sanjay T. Sharma    schedule 09.03.2011


Ответы (5)


так как вы находитесь в Windows, java так не работает. в каком-то каталоге Windows есть java.exe (%windir% system32 для вас)

Этот java.exe на самом деле ищет в реестре HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment

PATH тебе не поможет! Поскольку я склонен лениться, я удаляю JRE и вместо этого создаю junction для JDK.

person Community    schedule 09.03.2011
comment
java.exe в реестре смотрит? Да конечно? Я имею в виду, что java.exe не должен этого делать... - person panny; 24.01.2013
comment
@panny, я не уверен, что понимаю это - кем не предполагалось. Любой процесс Windows может выполнять поиск в реестре. Некоторые ключи (или даже кусты) реестра могут быть ограничены некоторыми процессами/пользователями, но это не имеет значения. - person bestsss; 24.01.2013
comment
@bestsss Я просто хочу знать о соединении, что это такое? - person anasanjaria; 23.03.2013
comment
@anasanjaria, это утилита для Windows, которая имитирует символические ссылки *nix: technet.microsoft.com /en-us/sysinternals/bb896768.aspx - person bestsss; 25.03.2013

Просто удалите java.exe из %windir%\system32

person maribge    schedule 16.03.2011

Щелкните правой кнопкой мыши «Мой компьютер»> «Свойства»> «Дополнительные параметры системы»> «Переменные среды»>

Поиск Пути..

Удалите существующий путь, а затем добавьте свой.

позаботьтесь о точке с запятой

person Baz1nga    schedule 09.03.2011
comment
Привет, что ты имеешь в виду под "позаботиться о точке с запятой"? - person Sandun; 19.05.2021

убедитесь, что ваш каталог JRE/bin не включен в ваш путь. первый экземпляр java.exe, найденный при поиске вашего пути, будет выполнен. если вы добавили свой JDK в путь после JRE, JRE всегда будет выбран.

вы также можете явно указать полный путь к java.exe при вызове java. это гарантирует, что вы всегда будете знать, какой java jre/jdk вы вызываете.

person Helter Scelter    schedule 09.03.2011

Если у вас 64-битная операционная система, она попытается использовать 64-битную jre, предустановленную в Windows 7. Вы можете попробовать удалить 64-битную jre с помощью программ добавления/удаления. У меня была эта проблема несколько раз, и я всегда исправлял ее, удаляя 64-битный jre.

person MBU    schedule 09.03.2011
comment
на 64-битной ОС есть только 64-битный JVM-сервер - person bestsss; 09.03.2011