Вопрос:
У меня машина 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
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
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
Содержание
- Как я могу изменить версию среды выполнения Java в Windows (7)?
- 8 ответов:
- Изменить Java виртуальная машина по умолчанию на Windows 7
- Как изменить версию Java Runtime в Windows (7)?
- 8 ответов
- Windows игнорирует JAVA HOME: Как установить JDK по умолчанию?
- 12 ответов
- Как установить среду установки / выполнения Java по умолчанию (Windows)?
- 9 ответов
- Как это установить:
- РЕДАКТИРОВАТЬ: из Windows Vista вы можете использовать mklink /J default JRE_1.8
- Переключение между различными версиями JDK в Windows
- 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.
предположим, что вы установили 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
более длинная версия:
После установки 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, который отлично подходит для меня
Кажется, что порядок переменных среды влияет на порядок просматриваемых папок при запросе исполняемого файла. Спасибо за ваш комментарий или лучшее объяснение.
Источник
Переключение между различными версиями 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 переменная.
Источник
Как убедить 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.
предположим, что вы установили 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..
Содержание
- How to switch Java versions in Windows (updated 03/2021 for Java 16)
- Installation of multiple Java versions
- Download sources
- Environment variables
- Setting environment variables manually
- Scripts for changing the Java version
- Как изменить версию Java в Windows 10
- 5 ответов 5
- java -version использует неверную версию Java.
- Как я могу изменить версию среды выполнения Java в Windows (7)?
- 8 ответов:
- Изменить Java виртуальная машина по умолчанию на Windows 7
How to switch Java versions in Windows (updated 03/2021 for Java 16)
As a Java programmer, I work on various projects based on different Java versions, especially since the transition to the six-month release cycle. From time to time, I also have a piece of Java code that I want to try out on different Java versions – on the command line without having to click through the menus of my IDE. So it is helpful to be able to quickly and easily change the Java version to be used for compiling code or executing class files.
In this article, I’ll show you how to install several Java versions simultaneously in Windows and how to switch between them on the command line with short commands.
Installation of multiple Java versions
Installing several Java versions at the same time is incredibly easy in Windows. You can download and run the installer for each version, which automatically installs the versions in separate directories.
Download sources
- Java SE 1.1 – You can no longer install this version on 64-bit Windows.
- Java SE 1.2 – Installed to C:jdk1.2.2 and C:Program Files (x86)JavaSoftJRE1.2 by default – I recommend changing this to C:Program Files (x86)Javajdk1.2.2 and C:Program Files (x86)Javajre1.2.2 for the sake of clarity.
- Java SE 1.3 – Installed to C:jdk1.3.1_28 by default – I recommend changing this to C:Program Files (x86)Javajdk1.3.1_28 .
- Java SE 1.4 – Installed to C:j2sdk1.4.2_19 by default – I recommend changing this to C:Program Files (x86)Javajdk1.4.2_19 .
Starting with the following versions, you don’t need to change the default installation directories:
Attention – you may use the following Oracle distributions only for private purposes and development:
The following version is currently an early access build. You should use it only for testing purposes:
Environment variables
In most cases, the following two environment variables decide which Java version an application uses:
- JAVA_HOME – many start scripts use this variable.
- Path – is used when running a Java binary (such as java and javac ) from the console.
These variables should always point to the same Java installation to avoid unforeseen problems due to inconsistencies. Some programs, such as Eclipse, define the Java version in a separate configuration file (for Eclipse, for example, this is the entry «-vm» in the eclipse.ini file).
Setting environment variables manually
The installers of the Java versions listed above already create various environment variables, which you need to clean up first (see below). The fastest way to change the environment variables is to press the Windows key and type «env» – Windows then offers «Edit the system environment variables» as a search result:
At this point, you can press «Enter,» and the system properties appear:
Here you click on «Environment Variables…», after which the following window opens:
As the standard version, I currently use the latest release version, Java 16. Therefore, you should make the following settings:
- The top list («User variables») should not contain any Java-related entries.
- The lower list («System variables») should contain an entry «JAVA_HOME = C:Program FilesJavajdk-16» (please check the version number, you may have a newer one). If this entry does not exist, you can add it with «New…». If it exists, but points to another directory, you can change it with «Edit…».
- Delete the following entries under «Path»:
- C:ProgramDataOracleJavajavapath
- C:Program Files (x86)Common FilesOracleJavajavapath
- Insert the following entry instead:
- %JAVA_HOME%bin
The path list should then look like this:
The last entry ensures that Path and JAVA_HOME are automatically consistent. Attention: this only works for the default setting configured here. If you change JAVA_HOME via the command line, you have to adjust Path accordingly (more about this below).
Now open a command line to check the settings with the following commands:
As a result, you should see this:
Scripts for changing the Java version
Finally, we come to the possibility to change the Java version quickly and easily. Therefore I create a separate command for each Java version, called, for example, java16 , java15 , java14 , java13 . I put these commands in the directory C:Program FilesJavascripts , which I add to the environment variable «Path» as described before:
The files are named, for example, java16.bat , java15.bat , java14.bat , java13.bat , and change the environment variables as shown in the following example of java16.bat :
This script, admittedly kept very simple, inserts the bin directory of the Java version to be activated at the beginning of the Path variable, so that is where, for example, java.exe is looked for first. The path variable becomes longer with each switching. However, since this is only the case for the currently opened command prompt, I don’t think this is a problem.
The following ZIP file contains all my scripts from Java 1.2 to Java 17 (you might have to adopt one or the other Java directory to your installation): scripts-up-to-jdk17.zip
You can quickly test whether the scripts work in a command line. Attention: after adding the scripts directory to the Path variable, you have to open a new command line.
At this point, the setup is complete. I hope this article was helpful for you, and I’d love to hear your comments. If you liked the article, I’d be happy if you shared it via one of the following share icons.
Как изменить версию Java в Windows 10
Я сделал следующее:
1. Установите переменную окружения JAVA_HOME:
2. Добавьте Java 1.6.0_45 и отключите Java 1.8.0_66 в настройках среды выполнения Java в разделе Настройка Java:
К сожалению, Java все еще 1.8.0_66:
Может ли кто-нибудь предложить совет по этому вопросу?
Редактировать:
Согласно предложению Дэвида, следующее — это связанное с Java содержимое из вывода команды PATH (весь вывод очень длинный, я надеюсь, что для этого вопроса достаточно следующего).
5 ответов 5
java -version использует неверную версию Java.
Диагностика:
Ниже приведено связанное с Java содержимое из вывода PATH :
Заключение:
Из приведенного выше вывода мы можем вывести, что C:ProgramDataOracleJavajavapath равен 1.8.0_66 .
Вам нужно изменить PATH чтобы сначала поместить C:Program FilesJavajdk1.6.0_45bin .
Я заметил, что после проверки пути в соответствии с вашим предложением. Windows 10 не позволяет мне редактировать путь, потому что он говорит: «Эта переменная среды слишком велика». Я знаю, что должен быть другой вопрос, чтобы иметь дело с этим отдельно.
Вы также должны очистить свой путь. Я думаю, у вас много повторяющихся записей.
Как я могу изменить версию среды выполнения Java в Windows (7)?
Как я могу изменить версию Java Runtime в Windows.
Я установил Java 7 для некоторых тестов, и теперь мне нужен старый java6 в качестве системного значения по умолчанию, но я не хочу удалять Java 7 (мне это нужно для более поздних тестов). Могу ли я изменить систему-используется JRE на вкладке панель управления/Java/JRE? Я могу изменить/изменить/добавить / удалить пользовательскую версию, но не системную.
8 ответов:
Для Java приложения, т. е. программы, которые поставляются (обычно) как .jar файлы и начал с java -jar xxx.jar или через ярлык, который делает то же самое, JRE, который будет запущен, будет первым, найденным на PATH .
если вы установили JRE или JDK, вероятные места для поиска .exe s находятся ниже каталогов, таких как C:Program FilesJavaSoftJREx.y.z . Тем не менее, я нашел некоторые «из коробки» установки Windows (также?) есть копии java.exe и javaw.exe in C:winntsystem32 (NT и 2000) или C:windowssystem (Windows 95, 98). Обычно это довольно старая версия Java: 1.3, может быть? Вы захотите сделать java -version в окне командной строки, чтобы проверить, что вы не используете некоторые устаревшие версии Java.
вы можете, конечно, переопределить настройку пути или даже обойтись без нее, явно указав путь к 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_HOME . Это между тем устаревший совет. Солнце пришло к пониманию, вокруг Java 2, что эта среда настройка —
- ненадежно, так как пользователи часто устанавливают его неправильно, и
- ненужно, так как во время выполнения достаточно легко найти каталоги библиотеки Java, зная, что они находятся в фиксированном пути относительно пути, из которого java.exe или javaw.exe был запущен.
вряд ли осталось какое-либо современное программное обеспечение Java, которое нуждается или уважает JAVA_HOME переменные среды.
. и некоторые полезные сведения о поддержке нескольких версий:
я использую для работы на UNIX-подобных машинах, но недавно мне пришлось сделать некоторую работу с Java на машине Windows 7. У меня была эта проблема, и это я ее решил. Он работал правильно для меня, поэтому я надеюсь, что он может быть использован для тех, кто может иметь эту проблему в будущем.
эти шаги представлены с учетом установки Java по умолчанию на диске C. Вы должны изменить то, что необходимо, если ваша установка не является установкой по умолчанию.
Изменить Java виртуальная машина по умолчанию на Windows 7
предположим, что мы установили Java 8, но по какой-то причине мы хотим сохранить Java 7.
1-Запустите cmd от имени администратора
2 — Перейти к C:ProgramDataOracleJava
3 — переименовать текущий каталог javapath до javapath_ . Например: rename javapath javapath_1.8
4 — создать javapath_ . Например: mkdir javapath_1.7
5-cd в это и создает следующие ссылки:
6-cd out и создать ссылку на каталог javapath указывая на нужный javapath. Например: mklink /D javapath javapath_1.7
7-Откройте регистр и измените ключ HKEY_LOCAL_MACHINESOFTWAREJavaSoftJava Runtime EnvironmentCurrentVersion иметь значение 1.7
в этот момент, если вы выполняете java -version вы должны видеть, что вы используете java версии 1.7:
8 — Наконец то это хорошая идея, чтобы создать переменную окружения JAVA_HOME. Для этого я создаю ссылку на каталог с именем CurrentVersion в C:Program файлыJava, указывающие на версию Java, которая меня интересует. Например:
9-и как только это будет сделано:
- Правой Кнопкой Мыши Мой компьютер и выберите Свойства.
- на вкладке Дополнительно выберите Переменные среды, а затем измените / создайте JAVA_HOME, чтобы указать, где находится программное обеспечение JDK, в этом случае, C:Program ФайлыJavaCurrentVersion
начиная с 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», и все работало нормально. 🙂
перейти к панели управления — > Java Вы можете выбрать активную версию здесь
все, что вам нужно сделать, это установить переменную среды PATH в Windows, чтобы указать, где ваш каталог java6 bin вместо каталога java7.
щелкните правой кнопкой мыши Мой компьютер > дополнительные системные настройки > дополнительно > Переменные среды
Если есть переменная среды JAVA_HOME, установите это, чтобы указать на правильный каталог.
убедитесь, что ссылка на java / bin обновлена в «Path»; это может быть автоматически, если у вас есть JAVA_HOME или эквивалентный набор. Если JAVA_HOME установлен, просто обновите его, чтобы ссылаться на более старую установку JRE.
Если вы используете windows 10 или windows server 2012, шаги для изменения версии среды выполнения java следующие:
- откройте regedit с помощью ‘Run’
- перейдите в раздел HKEY_LOCAL_MACHINE — > SOFTWARE — > JavaSoft — > Java Runtime Environment
- здесь вы увидите все версии java, установленные на вашем компьютере. Для меня у меня есть несколько версий установленных Java 1.8, так что папки, которые указаны здесь, 1.8, 1.8.0_162 и 1.8.0_171
- нажмите ‘1.8’ дважды щелкните клавиши JavaHome и RuntimeLib, измените номер версии внутри на любую версию Java, на которой вы хотите, чтобы ваш компьютер работал. Например, если данные значения ключа ‘C:Program FilesJavajre1. 8. 0_171’, вы можете изменить это на ‘C:Program файлыJavajre1.8.0_162’.
- затем вы можете проверить изменение версии, введя «java-version» в командной строке.
Как изменить версию среды выполнения Java в Windows.
Я установил Java 7 для некоторых тестов, и теперь мне нужен старый java6 по умолчанию, но я не хочу удалять Java 7 (он мне нужен для последующих тестов). Могу ли я изменить используемую системой JRE на панели управления / вкладке Java / JRE? Я могу изменить / отредактировать / добавить / удалить версию, используемую пользователем, но не версию, используемую системой.
8 ответов
Лучший ответ
Для приложений Java , т. Е. Программ, которые доставляются (обычно) в виде файлов .jar
и запускаются с помощью java -jar xxx.jar
или с помощью ярлыка, который делает то же самое, запускаемая JRE будет быть первым найденным на PATH
.
Если вы установили JRE или JDK, вероятные места, где можно найти .exe
, находятся под каталогами, такими как C:Program FilesJavaSoftJREx.y.z
. Тем не менее, я обнаружил, что некоторые установки Windows «из коробки» (также?) Имеют копии java.exe
и javaw.exe
в C:winntsystem32
(NT и 2000) или C:windowssystem
(Windows 95, 98). Обычно это довольно старая версия Java: 1.3, может быть? Вы захотите выполнить java -version
в командном окне, чтобы убедиться, что вы не используете устаревшую версию Java.
Конечно, вы можете переопределить параметр PATH или даже обойтись без него, явно указав путь к java.exe / javaw.exe в командной строке или в определении ярлыка.
Если вы запускаете апплеты из браузера или, возможно, также приложения Java Web Start (они выглядят как приложения, поскольку у них есть собственное окно, но вы запускаете их из browser) выбор JRE определяется набором настроек реестра:
Key: HKEY_LOCAL_MACHINESoftwareJavaSoftJava Runtime Environment
Name: CurrentVersion
Value: (e.g.) 1.3
Дополнительные ключи реестра создаются по такой схеме:
(e.g.)
HKEY_LOCAL_MACHINESoftwareJavaSoftJava Runtime Environment1.3
HKEY_LOCAL_MACHINESoftwareJavaSoftJava Runtime Environment1.3.1
То есть один для основного и один с дополнительным номером версии. Каждый из этих ключей имеет такие значения (показаны примеры):
JavaHome : C:program FilesJavaSoftJRE1.3.1
RuntimeLib : C:Program FilesJavaSoftJRE1.3.1binhotspotjvm.dll
MicroVersion: 1
… и ваш браузер посмотрит на эти настройки, чтобы определить, какую JRE запускать.
Поскольку версии Java меняются довольно часто, теперь есть «мастер» под названием «Панель управления Java» для ручного переключения версии Java в вашем браузере. Это работает для IE, Firefox и, возможно, других, таких как Opera и Chrome: это апплет Java в приложении Windows System Settings
. Вы можете выбрать любую из установленных JRE. Я считаю, что этот мастер возится с этими записями в реестре.
Если вы, как и я, «удалили» старые версии Java, просто удалив каталоги, вы также найдете этих «призраков» среди вариантов; поэтому убедитесь, что выбранная вами JRE соответствует неповрежденной установке Java!
В некоторых других ответах рекомендуется установить переменную среды JAVA_HOME
. Это пока что устаревший совет. Около Java 2 Sun пришла к выводу, что эта среда
- ненадежный, так как пользователи часто задают его неправильно, и
- Это не нужно, поскольку среде выполнения достаточно легко найти каталоги библиотеки Java, зная, что они находятся на фиксированном пути относительно пути, с которого был запущен java.exe или javaw.exe.
Вряд ли осталось какое-либо современное программное обеспечение Java, которое требует или уважает переменную среды JAVA_HOME
.
Дополнительная информация:
- http://java.sun.com/j2se/1.3/runtime_win32.html
- http://www.rgagnon.com/javadetails/java-0604.html
… и некоторая полезная информация о поддержке нескольких версий:
- http://www.rgagnon.com/javadetails/java-0604.html
76
Carl Smotricz
26 Июл 2010 в 23:15
Раньше я работал на UNIX-подобных машинах, но недавно мне пришлось поработать с Java на машине с Windows 7. У меня была эта проблема, и я решил ее. Это сработало для меня, поэтому я надеюсь, что его можно будет использовать для всех, у кого может быть эта проблема в будущем.
Эти шаги представлены с учетом установки Java по умолчанию на диске C. Вы должны изменить то, что необходимо, на случай, если ваша установка не является установкой по умолчанию.
Изменить виртуальную машину Java по умолчанию в Windows 7
Предположим, мы установили Java 8, но по какой-то причине мы хотим сохранить Java 7.
1- Запустите cmd от имени администратора
2- Перейдите на C:ProgramDataOracleJava
3- Переименуйте текущий каталог javapath в javapath_ . Например: rename javapath javapath_1.8
4- Создайте каталог javapath_ . Например: mkdir javapath_1.7
5- cd в него и создайте следующие ссылки:
cd javapath_1.7
mklink java.exe "C:Program FilesJavajre7binjava.exe"
mklink javaw.exe "C:Program FilesJavajre7binjavaw.exe"
mklink javaws.exe "C:Program FilesJavajre7binjavaws.exe"
6- выйдите и создайте ссылку каталога 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. Например:
cd C:Program FilesJava
mklink /D CurrentVersion .jdk1.7.0_71
9- И как только это будет сделано:
- Щелкните правой кнопкой мыши «Мой компьютер» и выберите «Свойства».
- На вкладке Advanced выберите Environment Variables, а затем отредактируйте / создайте JAVA_HOME, чтобы указать, где находится программное обеспечение JDK, в этом случае C: Program Files Java CurrentVersion
58
Community
20 Июн 2020 в 12:12
Начиная с 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.
25
Jules
21 Ноя 2012 в 17:03
Как только я обновил свою версию Java до 8, как это было предложено браузером. Однако я решил удалить предыдущую версию Java 6, которую я использовал для кодирования своих проектов. Когда я ввожу команду в «java -version» в cmd показала 1.8, и мне не удалось запустить eclipse IDE на Java 1.6.
Когда я установил обновление Java 8 для браузера, он изменил системную переменную «PATH», добавив «C: ProgramData Oracle Java javapath» в начало. Недавно добавленный путь указывал на версию Java 8. Я удалил этот путь из системной переменной «PATH», и все работало нормально.
6
Asanka Siriwardena
17 Ноя 2014 в 09:17
Перейдите в панель управления -> Java. Здесь вы можете выбрать активную версию.
4
Shazia Tabassum
21 Янв 2014 в 11:01
Все, что вам нужно сделать, это установить переменную среды PATH в Windows, чтобы указать, где находится ваш каталог bin java6, а не каталог java7.
Щелкните правой кнопкой мыши «Мой компьютер»> «Дополнительные параметры системы»> «Дополнительно»> «Переменные среды».
Если есть переменная среды JAVA_HOME, установите ее так, чтобы она также указывала на правильный каталог.
3
David Young
26 Июл 2010 в 13:24
Обновите переменные среды
Убедитесь, что ссылка на java / bin актуальна в «Пути»; Это может происходить автоматически, если у вас установлен JAVA_HOME или аналогичный. Если установлен JAVA_HOME, просто обновите его, чтобы он ссылался на более старую установку JRE.
0
Syntax
26 Июл 2010 в 13:23
Если вы используете Windows 10 или Windows Server 2012, шаги по изменению версии среды выполнения Java следующие:
- Откройте regedit, используя «Выполнить»
- Перейдите в HKEY_LOCAL_MACHINE -> ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ -> JavaSoft -> Java Runtime Environment.
- Здесь вы увидите все версии java, которые вы установили на свой компьютер. У меня установлено несколько версий java 1.8, поэтому здесь отображаются папки 1.8, 1.8.0_162 и 1.8.0_171.
- Щелкните папку «1.8», затем дважды щелкните ключи JavaHome и RuntimeLib. Измените номер версии внутри на ту версию Java, на которой вы хотите, чтобы ваш компьютер работал. Например, если данные значения ключа — «C: Program Files Java jre1.8.0_171», вы можете изменить это на «C: Program Files Java jre1.8.0_162».
- Затем вы можете проверить изменение версии, набрав «java -version» в командной строке.
0
Harvey Lin
24 Май 2018 в 19:54
For Java applications, i.e. programs that are delivered (usually) as .jar
files and started with java -jar xxx.jar
or via a shortcut that does the same, the JRE that will be launched will be the first one found on the PATH
.
If you installed a JRE or JDK, the likely places to find the .exe
s are below directories like C:Program FilesJavaSoftJREx.y.z
. However, I’ve found some «out of the box» Windows installations to (also?) have copies of java.exe
and javaw.exe
in C:winntsystem32
(NT and 2000) or C:windowssystem
(Windows 95, 98). This is usually a pretty elderly version of Java: 1.3, maybe? You’ll want to do java -version
in a command window to check that you’re not running some antiquated version of Java.
You can of course override the PATH setting or even do without it by explicitly stating the path to java.exe / javaw.exe in your command line or shortcut definition.
If you’re running applets from the browser, or possibly also Java Web Start applications (they look like applications insofar as they have their own window, but you start them from the browser), the choice of JRE is determined by a set of registry settings:
Key: HKEY_LOCAL_MACHINESoftwareJavaSoftJava Runtime Environment
Name: CurrentVersion
Value: (e.g.) 1.3
More registry keys are created using this scheme:
(e.g.)
HKEY_LOCAL_MACHINESoftwareJavaSoftJava Runtime Environment1.3
HKEY_LOCAL_MACHINESoftwareJavaSoftJava Runtime Environment1.3.1
i.e. one for the major and one including the minor version number. Each of these keys has values like these (examples shown):
JavaHome : C:program FilesJavaSoftJRE1.3.1
RuntimeLib : C:Program FilesJavaSoftJRE1.3.1binhotspotjvm.dll
MicroVersion: 1
… and your browser will look to these settings to determine which JRE to fire up.
Since Java versions are changing pretty frequently, there’s now a «wizard» called the «Java Control Panel» for manually switching your browser’s Java version. This works for IE, Firefox and probably others like Opera and Chrome as well: It’s the ‘Java’ applet in Windows’ System Settings
app. You get to pick any one of the installed JREs. I believe that wizard fiddles with those registry entries.
If you’re like me and have «uninstalled» old Java versions by simply wiping out directories, you’ll find these «ghosts» among the choices too; so make sure the JRE you choose corresponds to an intact Java installation!
Some other answers are recommending setting the environment variable JAVA_HOME
. This is meanwhile outdated advice. Sun came to realize, around Java 2, that this environment setting is
- unreliable, as users often set it incorrectly, and
- unnecessary, as it’s easy enough for the runtime to find the Java library directories, knowing they’re in a fixed path relative to the path from which java.exe or javaw.exe was launched.
There’s hardly any modern Java software left that needs or respects the JAVA_HOME
environment variable.
More Information:
- http://java.sun.com/j2se/1.3/runtime_win32.html
- http://www.rgagnon.com/javadetails/java-0604.html
…and some useful information on multi-version support:
- http://www.rgagnon.com/javadetails/java-0604.html
For Java applications, i.e. programs that are delivered (usually) as .jar
files and started with java -jar xxx.jar
or via a shortcut that does the same, the JRE that will be launched will be the first one found on the PATH
.
If you installed a JRE or JDK, the likely places to find the .exe
s are below directories like C:Program FilesJavaSoftJREx.y.z
. However, I’ve found some «out of the box» Windows installations to (also?) have copies of java.exe
and javaw.exe
in C:winntsystem32
(NT and 2000) or C:windowssystem
(Windows 95, 98). This is usually a pretty elderly version of Java: 1.3, maybe? You’ll want to do java -version
in a command window to check that you’re not running some antiquated version of Java.
You can of course override the PATH setting or even do without it by explicitly stating the path to java.exe / javaw.exe in your command line or shortcut definition.
If you’re running applets from the browser, or possibly also Java Web Start applications (they look like applications insofar as they have their own window, but you start them from the browser), the choice of JRE is determined by a set of registry settings:
Key: HKEY_LOCAL_MACHINESoftwareJavaSoftJava Runtime Environment
Name: CurrentVersion
Value: (e.g.) 1.3
More registry keys are created using this scheme:
(e.g.)
HKEY_LOCAL_MACHINESoftwareJavaSoftJava Runtime Environment1.3
HKEY_LOCAL_MACHINESoftwareJavaSoftJava Runtime Environment1.3.1
i.e. one for the major and one including the minor version number. Each of these keys has values like these (examples shown):
JavaHome : C:program FilesJavaSoftJRE1.3.1
RuntimeLib : C:Program FilesJavaSoftJRE1.3.1binhotspotjvm.dll
MicroVersion: 1
… and your browser will look to these settings to determine which JRE to fire up.
Since Java versions are changing pretty frequently, there’s now a «wizard» called the «Java Control Panel» for manually switching your browser’s Java version. This works for IE, Firefox and probably others like Opera and Chrome as well: It’s the ‘Java’ applet in Windows’ System Settings
app. You get to pick any one of the installed JREs. I believe that wizard fiddles with those registry entries.
If you’re like me and have «uninstalled» old Java versions by simply wiping out directories, you’ll find these «ghosts» among the choices too; so make sure the JRE you choose corresponds to an intact Java installation!
Some other answers are recommending setting the environment variable JAVA_HOME
. This is meanwhile outdated advice. Sun came to realize, around Java 2, that this environment setting is
- unreliable, as users often set it incorrectly, and
- unnecessary, as it’s easy enough for the runtime to find the Java library directories, knowing they’re in a fixed path relative to the path from which java.exe or javaw.exe was launched.
There’s hardly any modern Java software left that needs or respects the JAVA_HOME
environment variable.
More Information:
- http://java.sun.com/j2se/1.3/runtime_win32.html
- http://www.rgagnon.com/javadetails/java-0604.html
…and some useful information on multi-version support:
- http://www.rgagnon.com/javadetails/java-0604.html