Как убедить Windows использовать JDK вместо JRE?
Этот вопрос задавали раньше, здесь и в других местах:
Как установить среду установки / выполнения Java по умолчанию (Windows)?
Проблема в том, что Windows игнорирует, JAVA_HOME
а также игнорирует тот факт, что я сделал каталог bin JDK первой записью в пути.
Когда я запускаю java -version
из командной строки, вместо того, чтобы вызывать мою установку JDK 1.6, она запускает 1.7 JRE.
Я предполагаю, что это проблема, специфичная для 1.7, и Windows 7 делает то, чего не должна делать с реестром.
Есть какие нибудь идеи как это починить?
Изменить : Ой. Я написал выше «первая запись в пути к классам», когда имел в виду «путь». Сожалею.
%JAVA_HOME%\bin
первую позициюpath
переменной в Windows 10 и работаю со мной.В Windows 8 вы можете удалить
C:\ProgramData\Oracle\Java\javapath
каталог.от пути
Это решило мою проблему.
источник
У меня тоже есть эта проблема. Я использую 1.6, но хочу создать код, над которым я работаю, с 1.5. Я изменил
JAVA_HOME
иPATH
(как пользователя, так и систему) безрезультатно.Ответ в том , что установщик 1.6 упал
java.exe
,javaw.exe
иjavaws.exe
в моюWindows\System32
папку (Windows 7).Я решил его переименование этих файлов
java_wrong.exe
,javaw_wrong.exe
иjavaws_wrong.exe
. Только после этого он подбирает правильную версию java, как определено вJAVA_HOME
иPATH
. Я переименовал файлы таким образом, потому что это удалило их легко обратимым образом.Надеюсь это поможет!
источник
Windows ничего не игнорирует. Это проблема с вашей настройкой; Windows просто использует то, что вы предоставляете. Особых знаний он не имеет
JAVA_HOME
.CLASSPATH
тоже не имеет ничего общего с Windows. В Windows это только переменная среды, которая расширяется до местоположения папки.Проверьте
%PATH%
переменную окружения. Это то, что заставляет Windows находить одно перед другим. Путь (как сказано в сообщении, на которое вы ссылаетесь) должен указывать на%JAVA_HOME%\bin;<remainder of path>
. Опять же, сообщение, на которое вы указали ссылку, дает вам возможность установить это с помощью командного файла.(Для тех, кто может этого не знать: самый простой способ проверить% PATH% - открыть командную строку и ввести текст
echo %PATH%
. Вы также можете попасть туда, щелкнув правой кнопкой мыши наComputer
правой панели меню «Пуск» и выбравProperties
, затемAdvanced System Settings
, иEnvironmental Variables
кнопку tne .)источник
JAVA_HOME
чем Windows.JAVA_HOME
должен быть установлен в корень установки java. Путь должен быть%JAVA_HOME%\bin;<remainder of path%gt;
указан, иначе вы не сможете «найти» java, javac и т. Д. Конечно, Windows действительно смотрит только наPATH
переменную, но некоторые инструменты, связанные с java, смотрятJAVA_HOME
иногда.\bin
. Спасибо.Я была такая же проблема. У меня установлено несколько версий Java, и по какой-то причине Java 1.7 использовалась вместо Java 1.6, хотя я указал в пути для использования 1.6 (C: \ jdk1.6.0_45_32 \ bin).
Мне пришлось переместить путь к JDK, который я хотел использовать (1.6), чтобы он был первой записью в переменной среды PATH, чтобы убедиться, что Windows использует 1.6 вместо 1.7.
Так, например, переменная среды PATH раньше была:
C:\Program Files (x86);...<other entries>;C:\dev\ant181\bin;C:\jdk1.6.0_45_32\bin
и после того, как я переместил jdk первым, он сработал:
C:\jdk1.6.0_45_32\bin;C:\Program Files (x86);...<other entries>;C:\dev\ant181\bin
Я предполагаю, что установщик Windows Java 1.7 установил его в какой-то другой каталог, который уже находится в PATH, таким образом, он используется сначала вместо указанной пользовательской записи PATH C: \ jdk1.6.0_45_32 \ bin;
источник
Для моего случая в
'Path'
переменной был добавлен параметр типа "C:\ProgramData\Oracle\Java\javapath;
". Это место было имеяjava.exe
,javaw.exe
иjavaws.exe
из Java 8 , который недавно установленных с помощьюjdk.exe
от Oracle.Я удалил этот текст из Пути, где мой Путь уже был
%JAVA_HOME%\bin
с ним.Теперь переменная
'JAVA_HOME'
управляет моей версией Java, которую я хотел.источник
Предположим, вы установили JDK 10 после JDK 8 и в системной переменной среды задали путь, например "C: \ ProgramData \ Oracle \ Java \ javapath", а затем управление версиями Java по этому пути. он будет игнорировать JAVA_HOME, даже если здесь установлен путь jdk 1.8. Поэтому удалите "C: \ ProgramData \ Oracle \ Java \ javapath" в пути, чтобы получить эффект пути JAVA_HOME
источник
У меня были установлены Java 7 и 8, и я хочу перенаправить на java 7, но версия java в моем окне командной строки показывает Java 8.
Добавлен путь к каталогу bin Java 7 ( C: \ Program Files \ Java \ jdk1.7.0_10 \ bin ) в переменную PATH в конце, но не сработало и показывает Java 8. Поэтому я изменил путь Java 7 на начало значения пути, и это сработало.
Открыл новое окно командной строки cmd и проверил мою версию java, и теперь он показывает Java 7
источник
Установите переменную среды Path в желаемый каталог jdk / bin
источник
В моем случае у меня были установлены Java 7 и 8 (обе x64), и я хочу перенаправить на java 7, но все настроено на использование Java 8. Java использует переменную среды PATH:
в качестве первого варианта поиска его папки во время выполнения (это скрытая папка). Этот путь содержит 3 символические ссылки, которые нельзя редактировать.
На моем компьютере переменная среды PATH выглядит так:
В моем случае это должно выглядеть так:
Мне пришлось вырезать и вставить символические ссылки в другое место, чтобы Java не могла их найти, и я мог восстановить их позже.
После установки переменных окружения JAVA_HOME и JRE_HOME в нужное время выполнения папок Java (в моем случае это Java 7) команда
java -version
должна показать желаемую среду выполнения Java. Замечу, что нет необходимости возиться с реестром.Проверено на Win7 x64.
источник
Эта проблема, вероятно, связана с более ранними версиями Java, установленными в вашей системе. Сначала внимательно проверьте свои переменные среды и удалите все переменные среды, связанные с предыдущими версиями JAVA, и замените эти пути на
C:\Program Files\Java\<your new jdk version>\bin
источник
Здесь есть дополнительный фактор; в дополнение к исполняемым файлам java, которые установка java помещает везде, где вы просите их разместить, в окнах установщик java также помещает копии некоторых из этих исполняемых файлов в ваш каталог system32 Windows, поэтому вы, вероятно, будете использовать то, что каждый исполняемый файл java был установлен совсем недавно.
источник
На всякий случай, если вы используете файл .BAT в качестве службы Windows, я бы предложил удалить службу Windows и переустановить ее снова после изменения% JAVA_HOME%, чтобы указать на правильную версию Java.
источник
После того, как я некоторое время боролся с этой проблемой и исследовал ее, мне, наконец, удалось решить ее, выполнив следующие действия:
1) установите jdk версии 12
2) Создайте новую переменную в системной переменной
3) Назовите ее как JAVA_HOME и укажите путь установки jdk
4) добавьте эту переменную в путь и переместите ее наверх.
5) перейдите в C: \ Program Files (86) \ Common Files \ Oracle \ Java \ javapath и замените java.exe и javaw.exe соответствующими файлами с такими же именами из папки pathtojavajdk / bin
Наконец, я проверил версию java по умолчанию в cmd с помощью «java -version», и она сработала!
источник