У нас есть несколько приложений, работающих на Java 5, и теперь мы хотели бы представить приложение, основанное на Java 6. Могут ли обе версии java работать вместе под Windows?
Есть ли какая-либо панель управления для установки соответствующей версии Java для различных приложений или какой-либо другой способ настройки, какая версия Java будет использоваться для запуска этого конкретного приложения?
jdk-...exe STATIC=1
. Я попробовал это, и это сработало.STATIC
качестве аргумента, но делает ли JDK тоже?Абсолютно возможно установить несколько версий JRE / JDK бок о бок. Более того, вам не нужно делать ничего особенного, чтобы это произошло, поскольку Sun создает отдельную папку для каждой из них (в разделе Program Files).
Нет панели управления, чтобы проверить, какая JRE работает для каждого приложения. По сути, JRE, которая будет работать, будет первой в вашей переменной среды PATH. Вы можете изменить это, или переменную JAVA_HOME, или создать определенные файлы cmd / bat для запуска желаемых приложений, каждое с другим JRE в пути.
источник
Я был потрясен неуклюжестью идей CLASSPATH, JAVA_HOME и PATH в Windows для отслеживания файлов Java. Я попал сюда из-за нескольких JRE и того, как этим довольствоваться. Не повторяя информации от парня, гораздо более умного, чем я, я бы предпочел указать на его статью по этому вопросу, которая, на мой взгляд, решает ее отлично.
Автор статьи: Тед Ньюард: Несколько домов Java: предоставление Java-приложений собственной JRE
источник
Должна быть возможность изменять настройку переменной среды JAVA_HOME по-разному для конкретных приложений.
При запуске из командной строки или из пакетного сценария вы можете использовать
set JAVA_HOME=C:\...\j2dskXXX
для изменения среды JAVA_HOME.Возможно, вам также потребуется изменить
PATH
переменную среды, чтобы использовать правильный двоичный файл java. Для этого можно использоватьset PATH=%JAVA_HOME%\bin;%PATH%
.источник
С помощью SDKMan мы можем установить несколько версий комплектов для разработки Java на одном компьютере.
Некоторые особенности SDKMan следующие:
_HOME
и,PATH
потому что SDKMan обрабатывает это автоматически.SDKMan может работать на любых платформах на базе UNIX, таких как Mac OSX, Linux, Cygwin, Solaris и FreeBSD, и мы можем установить его, используя следующие команды:
$ curl -s "https://get.sdkman.io" | bash $ source "$HOME/.sdkman/bin/sdkman-init.sh"
Команда
sdk list java
предоставит нам список версий java, которые мы можем установить с помощью SDKMan.Установка Java 8
$ sdk install java 8.0.201-oracle
Установка Java 9
$ sdk install java 9.0.4-open
Установка Java 11
$ sdk install java 11.0.2-open
Удаление версии Java
Если вы хотите удалить любую версию JDK, например, 11.0.2-open, вы можете сделать это следующим образом:
$ sdk uninstall java 11.0.2-open
Смена текущей версии Java
Если вы хотите активировать одну версию JDK для всех терминалов и приложений, вы можете использовать команду
sdk default java <your-java_version>
Вышеупомянутые команды также автоматически обновят переменные PATH и JAVA_HOME. Вы можете прочитать больше в моей статье Как установить несколько версий Java на одном компьютере .
источник
Вызов Java с "java -version: 1.5" и т. Д. Должен работать с правильной версией Java. (Очевидно, замените 1.5 желаемой версией.)
Если Java правильно установлена в Windows, существуют пути к виртуальной машине для каждой версии, хранящейся в реестре, который она использует, поэтому вам не нужно возиться с версиями среды в Windows.
источник
Или используйте ссылки. Хотя обновлять PATH в работающей среде довольно неприятно, легко воссоздать ссылку на новую версию JRE / JDK. Так:
источник
Я использую простой скрипт при запуске jmeter с моей версией java.
setlocal set JAVA_HOME="c:\java8" set PATH=%JAVA_HOME%\bin;%PATH%; java -version
чтобы иметь "портативный" Java, вы можете использовать этот метод здесь:
https://www.whitebyte.info/programming/java/how-to-install-a-portable-jdk-in-windows-without-admin-rights
источник
Если вы используете Java Web Start (вы можете запускать приложения с любого URL-адреса, даже с локальной файловой системы), он позаботится о поиске правильной версии для вашего приложения.
источник
Используя Java Web Start, вы можете установить несколько JRE, а затем вызывать то, что вам нужно. В случае победы вы можете создать файл .bat:
1- онлайн-версия: < your_JRE_version \ bin \ javaws.exe> -localfile -J-Djnlp.application.href = < URL-адрес файла .jnlp .jnlp> -localfile -J "< path_temp_jnlp_file_ .jnlp>"
2- запуск из кеша: < your_JRE_version \ bin \ javaws.exe> -localfile -J "< path_of_your_local_jnlp_file .jnlp>"
источник