Как установить версию java по умолчанию windows

I'm in the situation where I've installed the JDK, but I can't run applets in browsers (I may not have installed the JRE). However, when I install the JRE, it clobbers my JDK as the default runtim...

I just had that problem (Java 1.8 vs. Java 9 on Windows 7) and my findings are:

short version

default seems to be (because of Path entry)

c:ProgramDataOracleJavajavapathjava -version

select the version you want (test, use tab completing in cmd, not sure what those numbers represent), I had 2 options, see longer version for details

c:ProgramDataOracleJavajavapath_target_[tab]

remove junction/link and link to your version (the one ending with 181743567 in my case for Java 8)

rmdir javapath
mklink /D javapath javapath_target_181743567

longer version:

Reinstall Java 1.8 after Java 9 didn’t work. The sequence of installations was jdk1.8.0_74, jdk-9.0.4 and attempt to make Java 8 default with jdk1.8.0_162…

After jdk1.8.0_162 installation I still have

java -version
java version "9.0.4"
Java(TM) SE Runtime Environment (build 9.0.4+11)
Java HotSpot(TM) 64-Bit Server VM (build 9.0.4+11, mixed mode)

What I see in path is

Path=...;C:ProgramDataOracleJavajavapath;...

So I checked what is that and I found it is a junction (link)

c:ProgramDataOracleJava>dir
 Volume in drive C is OSDisk
 Volume Serial Number is DA2F-C2CC

 Directory of c:ProgramDataOracleJava

2018-02-07  17:06    <DIR>          .
2018-02-07  17:06    <DIR>          ..
2018-02-08  17:08    <DIR>          .oracle_jre_usage
2017-08-22  11:04    <DIR>          installcache
2018-02-08  17:08    <DIR>          installcache_x64
2018-02-07  17:06    <JUNCTION>     javapath [C:ProgramDataOracleJavajavapath_target_185258831]
2018-02-07  17:06    <DIR>          javapath_target_181743567
2018-02-07  17:06    <DIR>          javapath_target_185258831

Those hashes doesn’t ring a bell, but when I checked

c:ProgramDataOracleJavajavapath_target_181743567>.java -version
java version "1.8.0_162"
Java(TM) SE Runtime Environment (build 1.8.0_162-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.162-b12, mixed mode)

c:ProgramDataOracleJavajavapath_target_185258831>.java -version
java version "9.0.4"
Java(TM) SE Runtime Environment (build 9.0.4+11)
Java HotSpot(TM) 64-Bit Server VM (build 9.0.4+11, mixed mode)

so to make Java 8 default again I had to delete the link as described here

rmdir javapath

and recreate with Java I wanted

mklink /D javapath javapath_target_181743567

tested:

c:ProgramDataOracleJava>java -version
java version "1.8.0_162"
Java(TM) SE Runtime Environment (build 1.8.0_162-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.162-b12, mixed mode)

** update (Java 10) **

With Java 10 it is similar, only javapath is in c:Program Files (x86)Common FilesOracleJava which is strange as I installed 64-bit IMHO

.java -version
java version "10.0.2" 2018-07-17
Java(TM) SE Runtime Environment 18.3 (build 10.0.2+13)
Java HotSpot(TM) 64-Bit Server VM 18.3 (build 10.0.2+13, mixed mode)

Я сделал следующее:

1. Установите переменную окружения JAVA_HOME:

2. Добавьте Java 1.6.0_45 и отключите Java 1.8.0_66 в настройках среды выполнения Java в разделе Настройка Java:

К сожалению, Java все еще 1.8.0_66:

>java -version
java version "1.8.0_66"
Java(TM) SE Runtime Environment (build 1.8.0_66-b18)
Java HotSpot(TM) 64-Bit Server VM (build 25.66-b18, mixed mode)

Может ли кто-нибудь предложить совет по этому вопросу?

Редактировать:

Согласно предложению Дэвида, следующее — это связанное с Java содержимое из вывода команды PATH (весь вывод очень длинный, я надеюсь, что для этого вопроса достаточно следующего).

PATH=C:ProgramDataOracleJavajavapath; ... C:Program FilesJavajdk1.6.0_45bin

java -version использует неверную версию Java.

Диагностика:

>java -version
java version "1.8.0_66"
Java(TM) SE Runtime Environment (build 1.8.0_66-b18)
Java HotSpot(TM) 64-Bit Server VM (build 25.66-b18, mixed mode)

Ниже приведено связанное с Java содержимое из вывода PATH:

PATH=C:ProgramDataOracleJavajavapath; ... C:Program FilesJavajdk1.6.0_45bin

Заключение:

Из приведенного выше вывода мы можем вывести, что C:ProgramDataOracleJavajavapath равен 1.8.0_66 .

Вам нужно изменить PATH чтобы сначала поместить C:Program FilesJavajdk1.6.0_45bin .

Я заметил, что после проверки пути в соответствии с вашим предложением. Windows 10 не позволяет мне редактировать путь, потому что он говорит: «Эта переменная среды слишком велика». Я знаю, что должен быть другой вопрос, чтобы иметь дело с этим отдельно.

Вы также должны очистить свой путь. Я думаю, у вас много повторяющихся записей.

ответ дан DavidPostill106k

Это НАСТОЯЩИЙ активный исполняемый файл JAVA в вашей переменной PATH:

C:Program Files (x86)Common FilesOracleJavajavapath;

Удалите его, и система примет значение от

...;%JAVA_HOME%bin;

ответ дан Robot Model 6751

Проверьте также реестр. Нажмите клавишу Win-R, введите regedit . Найдите ComputerHKEY_LOCAL_MACHINESOFTWAREJavaSoftJava Runtime Environment . Если есть что-то другое, чем вы ожидаете, то лучше переустановить Java. Если это невозможно, очень осторожно измените настройки. Имейте в виду, что от версии к версии настройки могут отличаться. В моем случае я бы понизил версию Java 1.9 до 1.8.

Настройка реестра Java

Как вы можете проверить переменную javapath в системной переменной пути к среде.

Так что если вы хотите использовать свою собственную версию.Ты можешь сделать

  • 1) Создать новую переменную в системной переменной
  • 2) Назовите его как JAVA_HOME и укажите путь установки jdk
  • 3) добавьте эту переменную в путь и переместите ее наверх.
  • 4) проверить версию Java

вам нужно создать JAVA_HOME

У меня та же проблема, я установил JAVA_HOME:

C:Program FilesJavajdk1.7.0_75

и Path к:

%JAVA_HOME%bin

Мне нужно запустить JDK 7. Когда я запускаю java -version всегда появляется jdk 8.

Я решил это с помощью: в System Environment -> Path -> order %JAVA_HOME%bin to first.

ответ дан Tarmizi Hamid11

Содержание

  1. Как я могу изменить версию среды выполнения Java в Windows (7)?
  2. 8 ответов:
  3. Изменить Java виртуальная машина по умолчанию на Windows 7
  4. Как изменить версию Java Runtime в Windows (7)?
  5. 8 ответов
  6. Windows игнорирует JAVA HOME: Как установить JDK по умолчанию?
  7. 12 ответов
  8. Как установить среду установки / выполнения Java по умолчанию (Windows)?
  9. 9 ответов
  10. Как это установить:
  11. РЕДАКТИРОВАТЬ: из Windows Vista вы можете использовать mklink /J default JRE_1.8
  12. Переключение между различными версиями JDK в Windows
  13. 3 ответов

Как я могу изменить версию среды выполнения Java в Windows (7)?

Как я могу изменить версию Java Runtime в Windows.

Я установил Java 7 для некоторых тестов, и теперь мне нужен старый java6 в качестве системного значения по умолчанию, но я не хочу удалять Java 7 (мне это нужно для более поздних тестов). Могу ли я изменить систему-используется JRE на вкладке панель управления/Java/JRE? Я могу изменить/изменить/добавить / удалить пользовательскую версию, но не системную.

8 ответов:

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

если вы используете апплеты от браузер или, возможно, также Java Web Start applications (они выглядят как приложения, поскольку у них есть собственное окно, но вы запускаете их из браузера), выбор JRE определяется набором параметров реестра:

дополнительные ключи реестра создаются с помощью этой схемы:

т. е. один для крупных и один дополнительный номер версии. Каждый из этих ключей имеет такие значения (примеры показано):

. и ваш браузер будет смотреть на эти настройки, чтобы определить, какой JRE для запуска.

поскольку версии Java меняются довольно часто, теперь есть » мастер «под названием» Панель управления Java » для ручного переключения версии Java Вашего браузера. Это работает для IE, Firefox и, вероятно, других, таких как Opera и Chrome: это апплет «Java» в Windows» System Settings приложение. Вы можете выбрать любой из установленных JREs. Я верю, что волшебник возится с этими записями в реестре.

если вы похожи на меня и» удалили «старые версии Java, просто уничтожив каталоги, вы также найдете эти» призраки » среди вариантов; поэтому убедитесь, что JRE, который вы выбираете, соответствует неповрежденной установке Java!

вряд ли осталось какое-либо современное программное обеспечение Java, которое нуждается или уважает JAVA_HOME переменные среды.

. и некоторые полезные сведения о поддержке нескольких версий:

я использую для работы на UNIX-подобных машинах, но недавно мне пришлось сделать некоторую работу с Java на машине Windows 7. У меня была эта проблема, и это я ее решил. Он работал правильно для меня, поэтому я надеюсь, что он может быть использован для тех, кто может иметь эту проблему в будущем.

эти шаги представлены с учетом установки Java по умолчанию на диске C. Вы должны изменить то, что необходимо, если ваша установка не является установкой по умолчанию.

Изменить Java виртуальная машина по умолчанию на Windows 7

предположим, что мы установили Java 8, но по какой-то причине мы хотим сохранить Java 7.

1-Запустите cmd от имени администратора

5-cd в это и создает следующие ссылки:

6-cd out и создать ссылку на каталог javapath указывая на нужный javapath. Например: mklink /D javapath javapath_1.7

7-Откройте регистр и измените ключ HKEY_LOCAL_MACHINESOFTWAREJavaSoftJava Runtime EnvironmentCurrentVersion иметь значение 1.7

9-и как только это будет сделано:

начиная с Java 1.6, java.exe устанавливается в %windir%system32, который поддерживает параметр командной строки «- version». Вы можете использовать это, чтобы выбрать конкретную версию для запуска, например:

запускает приложение jar в java 1.7, если оно установлено.

Как только я обновил свою версию Java до 8, как это было предложено браузером. Однако я выбрал для удаления предыдущей версии Java 6, которую я использовал для кодирования своих проектов. Когда я ввожу команду в «Java-версия» в cmd Он показал 1.8, и я не мог запустить Eclipse IDE на Java 1.6.

когда я установил обновление Java 8 для браузера, он изменил системную переменную «PATH», добавляя » C:ProgramDataOracleJavajavapath-с самого начала. Недавно добавленный путь указал на Java vesion 8. Поэтому я удалил этот путь из системной переменной «PATH», и все работало нормально. 🙂

все, что вам нужно сделать, это установить переменную среды PATH в Windows, чтобы указать, где ваш каталог java6 bin вместо каталога java7.

щелкните правой кнопкой мыши Мой компьютер > дополнительные системные настройки > дополнительно > Переменные среды

Если есть переменная среды JAVA_HOME, установите это, чтобы указать на правильный каталог.

убедитесь, что ссылка на java / bin обновлена в «Path»; это может быть автоматически, если у вас есть JAVA_HOME или эквивалентный набор. Если JAVA_HOME установлен, просто обновите его, чтобы ссылаться на более старую установку JRE.

Если вы используете windows 10 или windows server 2012, шаги для изменения версии среды выполнения java следующие:

Источник

Как изменить версию Java Runtime в Windows (7)?

Как я могу изменить версию Java Runtime в Windows.

Я установил Java 7 для некоторых тестов, и теперь мне нужен старый java6 по умолчанию, но я не хочу удалять Java 7 (мне это нужно для более поздних тестов). Могу ли я изменить систему-used JRE на вкладке панель управления/Java/JRE? Я могу изменить/изменить/добавить / удалить используемую пользователем версию, но не используемую системой.

8 ответов

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

если вы используете апплеты от браузер или, возможно, также Java Web Start приложения (они выглядят как приложения, поскольку у них есть собственное окно, но вы запускаете их из браузера), выбор JRE определяется набором настроек реестра:

дополнительные ключи реестра создаются с помощью этой схемы:

т. е. один для крупных и один дополнительный номер версии. Каждый из этих ключей имеет такие значения (примеры показано):

. и ваш браузер будет искать эти настройки, чтобы определить, какой JRE для запуска.

поскольку версии Java меняются довольно часто, теперь есть » мастер «под названием» Панель управления Java » для ручного переключения версии Java Вашего браузера. Это работает для IE, Firefox и, вероятно, других, таких как Opera и Chrome: это апплет «Java» в Windows» System Settings app. Вы можете выбрать любой из установленных JREs. Я верю этому волшебнику. возится с этими записями в реестре.

если вы похожи на меня и» удалили «старые версии Java, просто уничтожив каталоги, вы найдете эти» призраки » среди вариантов тоже; поэтому убедитесь, что JRE, который вы выбираете, соответствует неповрежденной установке Java!

вряд ли осталось какое-либо современное программное обеспечение Java, которое нуждается или уважает JAVA_HOME переменные среды.

. и некоторая полезная информация о поддержке нескольких версий:

Источник

Windows игнорирует JAVA HOME: Как установить JDK по умолчанию?

Как убедить Windows использовать JDK вместо JRE?

этот вопрос был задан раньше, здесь и в другом месте:

проблема в том, что Windows игнорирует JAVA_HOME и он также игнорирует тот факт, что я сделал каталог JDK bin первой записью в пути.

Я предполагаю, что это проблема, характерная для 1.7, и Windows 7 делает то, что не должно с реестром.

есть идеи о том, как это исправить?

редактировать: Упс. Я написал «первая запись в пути к классам» выше, когда я имел в виду «путь». Извиняюсь.

12 ответов

в Windows java исполняемый файл использует реестр Windows, чтобы найти версию Java по умолчанию для запуска.

копия java.exe выполнить с помощью PATH переменные среды. Если вы не предпримете шаги, чтобы изменить это, по умолчанию копия будет найдена в каталоге Windows. Поскольку эта копия не находится в каталоге Java runtime, она находит ее, просматривая реестр.

в Windows 8 может потребоваться удалить C:ProgramDataOracleJavajavapath справочник.

это решило мою проблему.

у меня тоже есть эта проблема. Я запускаю 1.6, но хочу создать код, над которым я работаю с 1.5. Я изменил JAVA_HOME и PATH (как пользователь, так и система) безрезультатно.

надеюсь, что это помогает!

CLASSPATH также не имеет ничего общего с Windows. Для Windows это только переменная среды, которая расширяется до расположения папки.

у меня была та же проблема. У меня установлена куча версий Java, и по какой-то причине Java 1.7 использовался вместо Java 1.6, хотя я указал в пути для использования 1.6 (C:jdk1.6.0_45_32bin).

мне пришлось переместить путь JDK, который я хотел использовать (1.6), чтобы быть первой записью в переменной среды PATH, чтобы убедиться, что Windows использует 1.6 вместо 1.7.

Так, например, переменная среды PATH раньше была:

и после Я переместил jdk, чтобы быть первым, он работал:

Я думаю, что установщик Windows Java 1.7 установил его в какой-то другой каталог уже в пути, таким образом, сначала используется вместо указанной записи пользовательского пути C:jdk1.6.0_45_32bin;

Я удалил этот текст из Пути, где мой путь уже имеет %JAVA_HOME%bin С ним.

теперь переменная ‘JAVA_HOME’ контролирует мою версию Java, которую я хотел.

У меня были установлены Java 7 и 8, и я хочу перенаправить на java 7, но версия java в моем окне командной строки cmd показывает Java 8.
Добавлен путь к каталогу Java 7 bin (C:Program файлыJavajdk1.7.0_10bin) к переменной PATH в конце, но не получилось и показывает Java 8. Поэтому я изменил путь Java 7 на начало значения пути, и это сработало.
Открыл новое окно командной строки cmd и проверил мою версию java, и теперь он показывает Java 7

установите переменную среды Path в нужный каталог jdk/bin

в моем случае у меня были установлены Java 7 и 8 (оба x64), и я хочу перенаправить на java 7, но все настроено на использование Java 8. Java использует переменную среды PATH:

в качестве первого варианта поиска своей папки runtime (является скрытой папкой). Этот путь содержит 3 символические ссылки, которые нельзя редактировать.

на моем ПК переменная среды PATH выглядит следующим образом:

в моем случае, это должно выглядеть так:

мне пришлось вырезать и вставить символические ссылки в другое место, чтобы java не могла их найти, и я могу восстановить их позже.

протестировано на Win7 x64.

3b9005bcde5fb0bde2ac150f58720b50предположим, что вы установили JDK 10 после JDK 8 и в системной переменной среды задали путь типа «C:ProgramDataOracleJavajavapath» тогда управление версиями Java по этому пути. он будет игнорировать JAVA_HOME даже путь JDK 1.8, установленный здесь Так что уберите «C:ProgramDataOracleJavajavapath» в пути, чтобы получить эффект JAVA_HOME path

здесь есть дополнительный фактор; в дополнение к исполняемым файлам java, которые установка java помещает туда, куда вы попросите их поместить, в windows, установщик java также помещает копии некоторых из этих исполняемых файлов в каталог Windows system32, поэтому вы, вероятно, будете использовать, который каждый исполняемый файл java был установлен совсем недавно.

Источник

Как установить среду установки / выполнения Java по умолчанию (Windows)?

Я нахожусь в ситуации, когда я установил JDK, но я не могу запускать апплеты в браузерах (возможно, я не установил JRE).

Однако, когда я устанавливаю JRE, он уничтожает мой JDK как среду выполнения по умолчанию. Это ломает почти все (Eclipse, Ant), поскольку им требуется серверная JVM.

9 ответов

В Windows это немного неудобно. Вот что я делаю.

Я исправил поведение моего ярлыка запуска eclipse в диалоговом окне свойств

Альтернативой является постоянная установка параметра в файле инициализации eclipse.

У меня только что была эта проблема (Java 1.8 против Java 9 в Windows 7), и мои выводы таковы:

короткая версия

По умолчанию кажется (из-за ввода пути)

Выберите нужную версию (протестируйте, используйте заполнение вкладки в cmd, не знаю, что представляют собой эти числа), у меня было 2 варианта, подробности см. в более длинной версии

Удалите соединение / ссылку и ссылку на вашу версию (та, которая заканчивается на 181743567 в моем случае для Java 8)

более длинная версия:

После установки jdk1.8.0_162 у меня все еще есть

То, что я вижу на пути, это

Итак, я проверил, что это, и обнаружил, что это перекресток (ссылка)

Эти хэши не звонят, но когда я проверил

Поэтому, чтобы снова установить Java 8 по умолчанию, мне пришлось удалить ссылку, как описано здесь

И воссоздать с помощью Java, которое я хотел

** обновление (Java 10) **

С Java 10 это похоже, только javapath находится в c: Program Files (x86) Common Files Oracle Java , что странно, поскольку я установил 64-разрядную версию IMHO

После многих попыток я обнаружил, что подход к перекрестку более удобен. Это очень похоже на то, как эта проблема решается в Linux.

По сути, он состоит из ссылки между c:toolsjavadefault и фактической версией java, которую вы хотите использовать по умолчанию в своей системе.

Как это установить:

Это создаст соединение (которое более или менее похоже на символическую ссылку в Linux) между C:toolsjavadefault и C:toolsjavaJRE_1.6

Если затем вам нужно изменить Java по умолчанию на версию 1.8, вам просто нужно выполнить

Тогда у вас могут быть командные файлы для этого без командной строки, например set_jdk8.bat set_jdk7.bat

По предложению @ СӏаџԁеМаятіи

РЕДАКТИРОВАТЬ: из Windows Vista вы можете использовать mklink /J default JRE_1.8

Я просто устанавливаю все необходимые мне версии JDK, и последняя установленная становится по умолчанию, поэтому при необходимости я просто переустанавливаю ту, которую хочу использовать по умолчанию.

Необходимо удалить C: Program Files (x86) Common Files Oracle Java javapath из среды и заменить на JAVA_HOME, который отлично подходит для меня

R5uBI

4wNXb

Кажется, что порядок переменных среды влияет на порядок просматриваемых папок при запросе исполняемого файла. Спасибо за ваш комментарий или лучшее объяснение.

Источник

Переключение между различными версиями JDK в Windows

Я работаю над несколькими проектами, и некоторые из них используют разные JDK. Переключение между версиями JDK не удобно. Поэтому мне было интересно, есть ли простой способ изменить его?

Я нашел 2 способа, которые должны решить эту проблему, но это не работает.

первым решением является создание файлов bat, как это:

и после запуска этой летучей мыши я вижу правильную версию Java. Но когда я закрываю этот CMD и открываю новый и набираю » java-версия» он говорит, что у меня все еще есть 1.8.0_25. Так что это не работает.

второе решение, которое я нашел-это приложение этой сайт. И это тоже не работает. Тот же эффект, что и в первом решении.

3 ответов

на /m опция используется для установки переменной в системе (и не только для текущего пользователя). Для использования этой опции терминал должен быть запущен от имени администратора.

существует также несколько редакторов переменных среды в качестве альтернативы громоздким настройкам переменных среды Windows. См.»есть ли удобный способ редактирования пути в Windows 7?» по супер Пользователь.

Если ваш путь имеет менее 1024 символов, можно выполнить (запуск от имени администратора) этот скрипт:

Если более 1024, попробуйте удалить некоторые ненужные пути или можете изменить эти сценарии с некоторыми входными данными из https://superuser.com/questions/387619/overcoming-the-1024-character-limit-with-setx

теперь вы можете переключаться между Java версия с использованием (должен быть запущен с правами администратора):

(Примечание: в конце строки нет двойной кавычки и не должно быть или вы получите c:Program FilesJavajdk-10.0.1» в своем JAVA_HOME переменная и она ломает ваш PATH переменной)

решение с системными переменными (и административными разрешениями) является более надежным, потому что оно помещает желаемый путь к Java в начале результирующего PATH переменная.

Источник

I am trying to change my java version because of compiler errors when running mvn install via the windows command prompt.
I changed the JAVA_HOME variable and made sure that it is referenced in the PATH variable (##EDIT##: had been done like this %JAVA_HOME%bin;%PATH%;).

When I open the command prompt in the folder where my pom.exe is located (using the Windows 7 'Open command window here' shortcut) and type java -version the unchanged java version is displayed.

I made sure to close all instances of command prompts before starting a new one.
Strangely I discovered that when starting the command prompt via the Run dialog in the start menu (by typing cmd) the result of java -version is the desired version.

asked Nov 25, 2014 at 12:59

Dennis's user avatar

DennisDennis

6162 gold badges6 silver badges19 bronze badges

You need to modify path variable as well as below:

PATH=%JAVA_HOME%/bin;%PATH%

Post that make sure you open a new command prompt and rerun maven command.

answered Nov 25, 2014 at 13:03

SMA's user avatar

SMASMA

35.9k8 gold badges47 silver badges73 bronze badges

2

When using the 'Open command window here' shortcut make sure to close and open the respective explorer window. When starting the command prompt in this way Windows uses cached environment variables and does therefore not retrieve the current version of java.


Took me a while to figure out because it was too surprising to expect this behavior. Before I was searching on google and stackoverflow.com without any results. Hope this saves someone the trouble.

answered Nov 25, 2014 at 12:59

Dennis's user avatar

DennisDennis

6162 gold badges6 silver badges19 bronze badges

In my case worked the following: after editing the environment variables, and checking by command line java -version and javac -version, javac was updated but not java, so you have to do it by command line also
set path=C:Program FilesJavajdk1.8.0_181bin

answered Nov 16, 2022 at 15:36

Karoli's user avatar

Remove the existing JRE setups..

Install the one that you need to install.
Hope you have added it in the environment variable and path via settings… Test it, it should work!.

The same thing happened to me long ago, It was pointing to the older JRE, got stuck, so removed the existing JDKs and installed a fresh copy. It worked.

answered Nov 25, 2014 at 13:06

Danyal Sandeelo's user avatar

Danyal SandeeloDanyal Sandeelo

12k10 gold badges44 silver badges76 bronze badges

I too faced this problem where I want to change the java version in command prompt but failed. But finally I succeeded doing the below steps. First I’ll show the failed attempt, followed by the actual success step so you will know the difference.

Failed Step:
1. Win + R
2. Type cmd and hit enter
3. Type java -version (Just to check if the version is the old one which we need to change)
4. Now try changing the path/classpath using set path=/classpath=
5. Now again type java -version(This will still show the old java version but not the new version which we set)

Success Step:
1. Win + R
2. Type open command window here and hit enter
3. Type java -version (Just to check if the version is the old one which we need to change)
4. Now try changing the path/classpath using set path=/classpath=
5. Now again type java -version and voila I see the changed java version here

Thanks!

answered Jun 13, 2018 at 11:01

Suresh's user avatar

SureshSuresh

1,3072 gold badges20 silver badges26 bronze badges

I had the same problem too. After setting the JAVA_HOME, i couldn’t see the new value in command prompt even though I started a new command prompt.

Strangely, it only occured when opening the command prompt from the Windows Explorer.

answered Jun 25, 2019 at 8:54

Jean-Simon Vaillant's user avatar

I am trying to change my java version because of compiler errors when running mvn install via the windows command prompt.
I changed the JAVA_HOME variable and made sure that it is referenced in the PATH variable (##EDIT##: had been done like this %JAVA_HOME%bin;%PATH%;).

When I open the command prompt in the folder where my pom.exe is located (using the Windows 7 'Open command window here' shortcut) and type java -version the unchanged java version is displayed.

I made sure to close all instances of command prompts before starting a new one.
Strangely I discovered that when starting the command prompt via the Run dialog in the start menu (by typing cmd) the result of java -version is the desired version.

asked Nov 25, 2014 at 12:59

Dennis's user avatar

DennisDennis

6162 gold badges6 silver badges19 bronze badges

You need to modify path variable as well as below:

PATH=%JAVA_HOME%/bin;%PATH%

Post that make sure you open a new command prompt and rerun maven command.

answered Nov 25, 2014 at 13:03

SMA's user avatar

SMASMA

35.9k8 gold badges47 silver badges73 bronze badges

2

When using the 'Open command window here' shortcut make sure to close and open the respective explorer window. When starting the command prompt in this way Windows uses cached environment variables and does therefore not retrieve the current version of java.


Took me a while to figure out because it was too surprising to expect this behavior. Before I was searching on google and stackoverflow.com without any results. Hope this saves someone the trouble.

answered Nov 25, 2014 at 12:59

Dennis's user avatar

DennisDennis

6162 gold badges6 silver badges19 bronze badges

In my case worked the following: after editing the environment variables, and checking by command line java -version and javac -version, javac was updated but not java, so you have to do it by command line also
set path=C:Program FilesJavajdk1.8.0_181bin

answered Nov 16, 2022 at 15:36

Karoli's user avatar

Remove the existing JRE setups..

Install the one that you need to install.
Hope you have added it in the environment variable and path via settings… Test it, it should work!.

The same thing happened to me long ago, It was pointing to the older JRE, got stuck, so removed the existing JDKs and installed a fresh copy. It worked.

answered Nov 25, 2014 at 13:06

Danyal Sandeelo's user avatar

Danyal SandeeloDanyal Sandeelo

12k10 gold badges44 silver badges76 bronze badges

I too faced this problem where I want to change the java version in command prompt but failed. But finally I succeeded doing the below steps. First I’ll show the failed attempt, followed by the actual success step so you will know the difference.

Failed Step:
1. Win + R
2. Type cmd and hit enter
3. Type java -version (Just to check if the version is the old one which we need to change)
4. Now try changing the path/classpath using set path=/classpath=
5. Now again type java -version(This will still show the old java version but not the new version which we set)

Success Step:
1. Win + R
2. Type open command window here and hit enter
3. Type java -version (Just to check if the version is the old one which we need to change)
4. Now try changing the path/classpath using set path=/classpath=
5. Now again type java -version and voila I see the changed java version here

Thanks!

answered Jun 13, 2018 at 11:01

Suresh's user avatar

SureshSuresh

1,3072 gold badges20 silver badges26 bronze badges

I had the same problem too. After setting the JAVA_HOME, i couldn’t see the new value in command prompt even though I started a new command prompt.

Strangely, it only occured when opening the command prompt from the Windows Explorer.

answered Jun 25, 2019 at 8:54

Jean-Simon Vaillant's user avatar

Вопрос:

У меня машина Windows 10 x64. У меня был Open JDK 10. Мой JAVA_HOME указывает на местоположение Open JDK 10. Моя переменная Path имеет %JAVA_HOME%/bin; часть.

Затем я установил Java 8. https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

Установщик Java меняет Path.

 C:Usersuser>set Path
Path=C:Program Files (x86)Common FilesOracleJavajavapath;OTHER_STUFF_WITHOUT_JAVA

Теперь в командной строке java -version указывает на Java 8.

 C:Usersuser>java -version
java version "1.8.0_202"
Java(TM) SE Runtime Environment (build 1.8.0_202-b08)
Java HotSpot(TM) 64-Bit Server VM (build 25.202-b08, mixed mode)

Но JAVA_HOME по-прежнему указывает на Open JDK 10.

C:Usersuser>set java_home
JAVA_HOME=C:Javajdkjdk-10.0.2

Моя цель – использовать Open JDK-10 в качестве Java по умолчанию.

Это не повторяющийся путь Java по умолчанию на машинах Windows, потому что для меня нет ответа.

Лучший ответ:

(Оставить комментарий как ответ на удобочитаемость)

Самый простой способ иметь несколько JDK и обязательно указывать на хороший, это избегать использования установщиков java. Вы должны просто разархивировать JDK в папке, а затем соответственно изменить ваши JAVA_HOME и PATH. У вас также может быть несколько JAVA_HOME, таких как JAVA_HOME_8 и JAVA_HOME_10, указывающих на их соответствующую папку JDK, и установите свой JAVA_HOME =% JAVA_HOME_10%, чтобы вы могли легко изменить.

Ответ №1

Самый простой способ, который я только что узнал, заключается в том, что установщик java 8 создает новую запись PATH среды:

C:Program Files (x86)Common FilesOracleJavajavapath

Это будет указывать на последнюю установленную JRE или JDK (т.е. последнюю в JDK или JRE) с использованием метода установщика.

Поэтому, если ваш JAVA_HOME указывает на JDK 10 ИЛИ JRE 10, просто перейдите в Переменные среды и удалите:

C:Program Files (x86)Common FilesOracleJavajavapath

Из переменной PATH.

Тогда значения, которые вы использовали для JAVA_HOME, вступят в силу.

Это сработало для меня после установки Java 8, и я установил Java 12

Как убедить Windows использовать JDK вместо JRE?

этот вопрос был задан раньше, здесь и в другом месте:

Как установить установку/время выполнения Java по умолчанию (Windows)?

проблема в том, что Windows игнорирует JAVA_HOME и он также игнорирует тот факт, что я сделал каталог JDK bin первой записью в пути.

когда я запускаю java -version из командной строки вместо вызова моей установки JDK 1.6, он работает 1.7 JRE.

Я предполагаю, что это проблема, характерная для 1.7, и Windows 7 делает то, что не должно с реестром.

есть идеи о том, как это исправить?

редактировать: Упс. Я написал «первая запись в пути к классам» выше, когда я имел в виду «путь». Извиняюсь.

12 ответов


в Windows java исполняемый файл использует реестр Windows, чтобы найти версию Java по умолчанию для запуска.

копия java.exe выполнить с помощью PATH переменные среды. Если вы не предпримете шаги, чтобы изменить это, по умолчанию копия будет найдена в каталоге Windows. Поскольку эта копия не находится в каталоге Java runtime, она находит ее, просматривая реестр.

Итак, вам либо нужно изменить реестр, либо поставить версию Java вам хочу!—9—>до каталог Windows в PATH.


в Windows 8 может потребоваться удалить
C:ProgramDataOracleJavajavapath
справочник.

по пути

это решило мою проблему.


у меня тоже есть эта проблема. Я запускаю 1.6, но хочу создать код, над которым я работаю с 1.5. Я изменил JAVA_HOME и PATH (как пользователь, так и система) безрезультатно.

ответ заключается в том, что установщик за 1.6 java.exe, javaw.exe и javaws.exe в свою WindowsSystem32 папка (Windows 7).

я решил это, переименовав эти файлы в java_wrong.exe, javaw_wrong.exe и javaws_wrong.exe. Только после этого он выбирает правильную версию java, как определено в JAVA_HOME и PATH. Я переименовал файлы таким образом, потому что это удалило их легко обратимым образом.

надеюсь, что это помогает!


Windows ничего не игнорирует. Это проблема с вашей установки; Windows просто использует то, что вы предоставляете. Он не имеет специальных знаний JAVA_HOME.

CLASSPATH также не имеет ничего общего с Windows. Для Windows это только переменная среды, которая расширяется до расположения папки.

Проверьте %PATH% переменные среды. Это то, что заставляет окна находить одно перед другим. Путь (как сказал пост, на который вы ссылались) должен указывать на %JAVA_HOME%bin;<remainder of path>. Опять же, сообщение, на которое вы ссылались, дало вам возможность установить это с помощью пакетного файла.

(для тех, кто может этого не знать: Самый простой способ проверить %PATH% — открыть командную строку и ввести echo %PATH%. Вы также можете попасть, нажав правой кнопкой мыши на Computer в правой панели меню «Пуск» и выберите Properties, потом Advanced System Settings, и tne .)


у меня была та же проблема. У меня установлена куча версий Java, и по какой-то причине Java 1.7 использовался вместо Java 1.6, хотя я указал в пути для использования 1.6 (C:jdk1.6.0_45_32bin).

мне пришлось переместить путь JDK, который я хотел использовать (1.6), чтобы быть первой записью в переменной среды PATH, чтобы убедиться, что Windows использует 1.6 вместо 1.7.

Так, например, переменная среды PATH раньше была:

C:Program Files (x86);...<other entries>;C:devant181bin;C:jdk1.6.0_45_32bin

и после Я переместил jdk, чтобы быть первым, он работал:

C:jdk1.6.0_45_32bin;C:Program Files (x86);...<other entries>;C:devant181bin

Я думаю, что установщик Windows Java 1.7 установил его в какой-то другой каталог уже в пути, таким образом, сначала используется вместо указанной записи пользовательского пути C:jdk1.6.0_45_32bin;

6

автор: eternalminerals.com


для моего случая в 'Path' переменная был добавлен параметр типа’C:ProgramDataOracleJavajavapath;‘.
Это место имело java.exe, javaw.exe и javaws.exe из java 8, который недавно установлен через jdk.exe от Oracle.

Я удалил этот текст из Пути, где мой путь уже имеет %JAVA_HOME%bin С ним.

теперь переменная 'JAVA_HOME' контролирует мою версию Java, которую я хотел.

2

автор: Muhammadh Aadhil


У меня были установлены Java 7 и 8, и я хочу перенаправить на java 7, но версия java в моем окне командной строки cmd показывает Java 8.
Добавлен путь к каталогу Java 7 bin (C:Program файлыJavajdk1.7.0_10bin) к переменной PATH в конце, но не получилось и показывает Java 8. Поэтому я изменил путь Java 7 на начало значения пути, и это сработало.
Открыл новое окно командной строки cmd и проверил мою версию java, и теперь он показывает Java 7


установите переменную среды Path в нужный каталог jdk/bin


в моем случае у меня были установлены Java 7 и 8 (оба x64), и я хочу перенаправить на java 7, но все настроено на использование Java 8. Java использует переменную среды PATH:

C:ProgramDataOracleJavajavapath

в качестве первого варианта поиска своей папки runtime (является скрытой папкой). Этот путь содержит 3 символические ссылки, которые нельзя редактировать.

на моем ПК переменная среды PATH выглядит следующим образом:

C:ProgramDataOracleJavajavapath;C:WindowsSystem32;C:Program
ФайлыJavajdk1.7.0_21bin;

в моем случае, это должно выглядеть так:

C:WindowsSystem32;C:Program файлыJavajdk1.7.0_21bin;

мне пришлось вырезать и вставить символические ссылки в другое место, чтобы java не могла их найти, и я могу восстановить их позже.

после установки переменных среды JAVA_HOME и JRE_HOME в нужную java время выполнения папок (в моем случае это Java 7), команда java -version должен показывать желаемую среду выполнения java. Я замечаю, что нет необходимости возиться с реестром.

протестировано на Win7 x64.


enter image description hereпредположим, что вы установили JDK 10 после JDK 8 и в системной переменной среды задали путь типа «C:ProgramDataOracleJavajavapath» тогда управление версиями Java по этому пути. он будет игнорировать JAVA_HOME даже путь JDK 1.8, установленный здесь
Так что уберите «C:ProgramDataOracleJavajavapath» в пути, чтобы получить эффект JAVA_HOME path


здесь есть дополнительный фактор; в дополнение к исполняемым файлам java, которые установка java помещает туда, куда вы попросите их поместить, в windows, установщик java также помещает копии некоторых из этих исполняемых файлов в каталог Windows system32, поэтому вы, вероятно, будете использовать, который каждый исполняемый файл java был установлен совсем недавно.


на всякий случай, если вы используете .Файл BAT как служба Windows, я бы предложил удалить службу Windows и переустановить ее снова после изменения %JAVA_HOME%, чтобы указать правильную версию Java..


Понравилась статья? Поделить с друзьями:
  • Как установить версию 1909 windows 10
  • Как установить ведьмак 3 на windows 10
  • Как установить веб сервер на windows 10
  • Как установить аппаратное ускорение на windows 7
  • Как установить веб камеру на компьютер без диска на windows 7