Как я могу изменить Java Runtime Version в Windows (7)? - PullRequest
57 голосов
/ 26 июля 2010

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

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

Ответы [ 8 ]

74 голосов
/ 26 июля 2010

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

Если вы установили JRE или JDK, вероятные места для поиска .exe находятся ниже каталогов, таких как C:\Program Files\JavaSoft\JRE\x.y.z.Тем не менее, я обнаружил, что некоторые "готовые" установки Windows (также?) Имеют копии java.exe и javaw.exe в C:\winnt\system32 (NT и 2000) или C:\windows\system (Windows 95, 98).Обычно это довольно старая версия Java: 1.3, может быть?Вы можете сделать java -version в командном окне, чтобы убедиться, что у вас не установлена ​​устаревшая версия Java.

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


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

Key: HKEY_LOCAL_MACHINE\Software\JavaSoft\Java Runtime Environment
Name: CurrentVersion
Value: (e.g.) 1.3

Подробнееключи реестра создаются по следующей схеме:

(e.g.) 
HKEY_LOCAL_MACHINE\Software\JavaSoft\Java Runtime Environment\1.3   
HKEY_LOCAL_MACHINE\Software\JavaSoft\Java Runtime Environment\1.3.1

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

JavaHome    : C:\program Files\JavaSoft\JRE\1.3.1
RuntimeLib  : C:\Program Files\JavaSoft\JRE\1.3.1\bin\hotspot\jvm.dll
MicroVersion: 1

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

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

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


Некоторые другие ответы рекомендуют установить environment variable JAVA_HOME.Между тем это устаревший совет.Sun пришла к выводу, что в Java 2 этот параметр среды ненадежен

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

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


Дополнительная информация:

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

58 голосов
/ 15 января 2015

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

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

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

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

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

2- Перейти к C:\ProgramData\Oracle\Java

3 - переименовать текущий каталог javapath в javapath_ . Например: rename javapath javapath_1.8

4- Создайте каталог javapath_ . Например: mkdir javapath_1.7

5- перейдите в него и создайте следующие ссылки:

cd javapath_1.7
mklink java.exe "C:\Program Files\Java\jre7\bin\java.exe"
mklink javaw.exe "C:\Program Files\Java\jre7\bin\javaw.exe"
mklink javaws.exe "C:\Program Files\Java\jre7\bin\javaws.exe"

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

7- Откройте реестр и измените ключ HKEY_LOCAL_MACHINE \ SOFTWARE \ JavaSoft \ Java Runtime Environment \ CurrentVersion , чтобы получить значение 1,7

На этом этапе, если вы выполните java -version, вы должны увидеть, что вы используете Java версии 1.7:

java version "1.7.0_71"
Java(TM) SE Runtime Environment (build 1.7.0_71-b14)
Java HotSpot(TM) 64-Bit Server VM (build 24.71-b01, mixed mode)

8- Наконец, неплохо создать переменную окружения JAVA_HOME. Для этого я создаю ссылку на каталог с именем CurrentVersion в C: \ Program Files \ Java, указывающую на интересующую меня версию Java. Например ::1010 *

cd C:\Program Files\Java\
mklink /D CurrentVersion .\jdk1.7.0_71

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

  • Щелкните правой кнопкой мыши Мой компьютер и выберите Свойства.
  • На вкладке «Дополнительно» выберите «Переменные среды», а затем отредактируйте / создайте JAVA_HOME, чтобы указать местоположение программного обеспечения JDK, в этом случае C: \ Program Files \ Java \ CurrentVersion
25 голосов
/ 21 ноября 2012

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

java -version:1.7 -jar [path to jar file]

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

См. Документацию Oracle здесь: http://docs.oracle.com/javase/6/docs/technotes/tools/windows/java.html

6 голосов
/ 17 ноября 2014

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

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

4 голосов
/ 21 января 2014

Перейти к панели управления -> Java Вы можете выбрать активную версию здесь

3 голосов
/ 26 июля 2010

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

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

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

0 голосов
/ 24 мая 2018

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

  1. Откройте regedit с помощью «Выполнить»
  2. Перейдите к HKEY_LOCAL_MACHINE -> ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ -> JavaSoft -> Java Runtime Environment
  3. Здесь вы увидите все версии Java, установленные на вашем ПК.Для меня у меня установлено несколько версий java 1.8, поэтому здесь отображаются папки 1.8, 1.8.0_162 и 1.8.0_171
  4. . Щелкните папку «1.8», затем дважды щелкните ключи JavaHome и RuntimeLib. Изменитеномер версии внутри той версии Java, на которой вы хотите, чтобы ваш ПК работал.Например, если значение параметра «C: \ Program Files \ Java \ jre1.8.0_171» является значением «C: \ Program Files \ Java \ jre1.8.0_162».
  5. Затем вы можете проверить изменение версии, набрав 'java -version' в командной строке.
0 голосов
/ 26 июля 2010

Обновите ваши переменные среды

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

...