Изменение текущей версии Java в Windows


16

Я работаю в среде Windows XP и недавно установил Java 1.6, потому что это требовалось приложением.

Однако я не хочу, чтобы это была используемая по умолчанию версия Java. Как мне установить так, чтобы команда java -version возвращала 1.5.x


Я бы взглянул на pathпеременную окружения. Вы можете проверить его в командной строке с помощью : echo %PATH%. Это папки по умолчанию, в которых ищутся двоичные файлы. Если вы найдете путь к JAVA, вы можете легко настроить его в Системных настройках.
Rekin

Ответы:


21

Измените переменную PATH, чтобы она находилась в каталоге jdk5 / bin:

  1. Пуск -> Панель управления -> Система -> Дополнительно
  2. Нажмите Переменные среды, в разделе Системные переменные найдите PATH и щелкните по нему.
  3. В окнах редактирования измените PATH, добавив местоположение вашей директории jdk5 / bin в начало. Если у вас нет элемента PATH, вы можете выбрать добавление новой переменной и добавить PATH в качестве имени и расположение каталога в качестве значения.
  4. Закройте окно.
  5. Снова откройте окно командной строки и запустите java -version

Это не сработало. Jre bin ранее не был частью пути, поэтому он должен быть установлен где-то еще.
Дунк

9
Это связано с тем, что при установке Java контейнеры помещаются в C: \ WINDOWS \ system32, который является частью вашей переменной PATH. Вы должны добавить каталог jre / bin в начало PATH.
Dogbane

Извините, не заметил начальную часть. Спасибо
Дунк

3
Если у вас установлено несколько JRE, единственный способ добиться этого - изменить запись в реестре. Тем более, что есть инструменты, которые читают информацию JRE из реестра, а не путь к классам.
Ayusman

17

В командной оболочке:

set JAVA_HOME=C:\jdk1.6.0u24
set PATH=%JAVA_HOME%\bin;%PATH%

Это временно настроит среду в командной оболочке. Maven, Ant и т. Д. Подберут новую версию Java, не обращаясь к панели управления повторно.

Такие инструменты, как Eclipse, должны иметь возможность выбирать, какой JDK использовать в своих собственных инструментах конфигурации для использования в своих средах.


6

Java 8 создает три ярлыка для \ ProgramData \ Oracle \ Java \ javapath, которые указывают на последние версии Java8 java.exe, javaw.exe и javaws.exe, а затем помещает \ ProgramData \ Oracle \ Java \ javapath в начало PATH, чтобы независимо от того, что вы делаете с переменной окружения JAVA_PATH, вы все равно получаете самую последнюю версию Java 8.

Вы можете обойти это,

1) переименование \ ProgramData \ Oracle \ Java \ javapath во что-то другое (например, \ ProgramData \ Oracle \ Java \ javapath8)

2) создание новой папки javapath под Java и

3) создание ярлыков, которые вам нужны.

Просто восстановите javapath, когда вы закончите со старыми версиями, и вы получите Java 8 обратно.


1
Ну, во-первых, вы всегда можете поместить свое старое расположение Java в PATH, и оно победит.
leonbloy

Короткий, но, в сущности, очень хороший ответ, этот объясняет более конкретно, как генерировать несколько версий javapathпапок, используя символические ссылки, чтобы вы могли без промедления переключаться между версиями, и отсутствующими здесь материалами реестра, снимками экрана и трюком. чтобы избежать перезагрузки после изменений тоже. см. stackoverflow.com/questions/27996603 .

3

Есть два способа исправить это:

1) Измените PATH (как кто-то уже упомянул). С этим решением важно установить JAVA_HOME перед путями Windows. Это связано с тем, что в папке Windows находится файл java.exe, который перенаправляет на последний установленный jre .

2) Regedit. Ключ HKEY_LOCAL_MACHINE-> SOFTWARE-> JAVASOFT-> Java Runtime Environment содержит последнюю установленную версию, на которую перенаправляется java.exe в папке Windows. Если вы измените это на ранее установленную версию, все должно быть персиковым. (По крайней мере, я думаю, что это правильный ключ реестра)


1

Последняя версия JRE, которая у вас всегда есть, имеет приоритет над любой настройкой PATH. Итак, чтобы быть уверенным, удалите 1.6 JRE, если вы не хотите, чтобы он был основным. Вы можете установить любое количество JDK параллельно.


1

Поскольку Java поддерживает параметр -versionкомандной строки, вы можете использовать его для выбора конкретной версии для запуска, например:

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

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

Для получения дополнительной информации см . Документацию Oracle .


@Jawa это java -version:1.7 -jar [path to jar file]больше не поддерживается. Возможно, вам придется пройти путь PATH С уважением.
Adeola Ojo

0

Создайте файл «setjava.bat» и сохраните этот файл с содержимым ниже, и не забудьте изменить JAVA_PATH для вашей системы. Также не забудьте сохранить этот файл с расширением .bat.

echo off
REM IMPORTANT
REM RUN THIS SCRIPT AS ADMINISTRATOR
set JAVA_REQ_VER=%1
IF "%JAVA_REQ_VER%" == "7" (
 set JAVA_PATH="C:\Progra~1\Java\jdk1.7.0_79"
) ELSE (
 REM At present I only need to assign 8 by default if not 7
 set JAVA_PATH="C:\Progra~1\Java\jdk1.8.0_111"
)
setx /M JAVA_HOME "%JAVA_PATH%"

Теперь вы просто запускаете этот скрипт с правами администратора.

Пример: setjava 8, setjava 7

Проверьте эту ссылку для более подробной информации

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.