Подтвердить что ты не робот

Менеджер версий JVM

Есть ли Ruby Version Manager эквивалент для мира Java?

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

jvm install <version>
jvm list //will list installed JVMs on my system
jvm use jdk1.6 //will switch my env to jdk 1.6 version, etc.
4b9b3361

Ответ 1

Если вы используете Ubuntu, вы можете указать, какую JVM вы хотите использовать с помощью команды (работает только для JVM, установленной из apt-get или aptitude)

sudo update-alternatives --config java

Или, установив JAVA_HOME. Вот хороший учебник:

http://vietpad.sourceforge.net/javaonlinux.html

Ответ 2

http://www.jenv.be/ позволит использовать этот тип управления.

Ответ 3

С JVMs, если вам нужно переключаться между ними, вам просто нужно использовать командный файл (или powershell script) для управления путями классов и JVM. Вам не нужно полагаться на путь JVM по умолчанию для системы, а вместо этого просто позволяйте вашему приложению указывать на любой JVM, который вам нравится, изменяя путь пути к классам и среду JVM в оболочке, которая запускает JVM.

Для программ, которые получают местоположение Java из реестра, теоретически вы можете также использовать пакетную версию script.

В этом отношении Java намного проще, чем "менеджер версий Ruby".

Ответ 4

Нет. Не возвращаясь к менеджеру пакетов ОС (да, я думаю об apt-get), в мире Java нет такой вещи.

Ответ 5

Для полноты есть еще два - jabba (из которых я автор, написан на Go и разработан после nvm/gvm/rvm) и jenv (не путать с jenv.be; не поддерживает установку с oracle, но может установить с custom zip).

Ответ 6

Фокус в том, чтобы использовать update-java-альтернативы (из пакета java-common). Команда update-alternatives не будет обновлять каждую из символических ссылок для различных исполняемых файлов java/bin, поэтому лучше использовать опции update-java.

Итак, чтобы перейти на OpenJDK с 6 по 7, используйте update-java-alternatives -l, чтобы получить список альтернатив Java, а затем используйте sudo update-java-alternatives -s java-1.7.0-openjdk-amd64 для переключения JDK.

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

update-alternatives: error: no alternatives for mozilla-javaplugin.so.
update-java-alternatives: plugin alternative does not exist: 
  /usr/lib/jvm/java-7-openjdk-amd64/jre/lib/amd64/IcedTeaPlugin.so

Это связано с тем, что плагин openjdk по умолчанию не установлен. Исправить запуск sudo apt-get install icedtea-7-plugin и повторить обновление-java-альтернативы.