Переключение между несколькими версиями Java

Основная подсказка Bash - это просто переменная с именем PS1. Эта переменная обычно устанавливается в файле ~ / .bashrc. Оболочка bash считывает этот файл при запуске и устанавливает переменную. Если переменная PS1 не настроена в файле .bashrc (или .profile), тогда у вас не будет приглашения. В вашем случае для переменной PS1 задано значение $:

export PS1="\$"

Вы можете поэкспериментировать с переменной, например try:

export PS1="\u\$" export PS1="\u@\h\$" [d5 ] Вы увидите, как изменяется запрос. Измените файл bashrc так, как вы хотите, чтобы ваше приглашение отображалось. Для получения дополнительной информации см. Здесь.

1
задан 12 April 2018 в 06:06

3 ответа

Используйте

sudo update-alternatives --config java

, в котором перечислены все установленные версии с текущим активным и помечены диалоговым окном:

There are 3 choices for the alternative java (providing /usr/bin/java).

Selection    Path...
------------------------------------------------------------
  0            /usr/lib/jvm/java-9-oracle/bin/java...
* 1            /usr/lib/jvm/java-7-oracle/jre/bin/java...
  2            /usr/lib/jvm/java-8-oracle/jre/bin/java...
  3            /usr/lib/jvm/java-9-oracle/bin/java...

Press <enter> to keep...[*], or type selection number: 

Используйте

export JAVA_HOME="$(jrunscript -e 'java.lang.System.out.println(java.lang.System.getProperty("java.home"));')"

], чтобы установить $JAVA_HOME из текущей активной версии

9
ответ дан 23 May 2018 в 13:10

На основании ответа от @muet я нашел, что это работает без проблем:

Добавьте это к ~/.bashrc:

export JAVA_HOME="$(jrunscript -e 'java.lang.System.out.println(java.lang.System.getProperty("java.home"));')"

Добавить в псевдонимы:

alias useJava8='yes | sudo apt-get install oracle-java8-set-default && source ~/.bashrc'
alias useJava7='yes | sudo apt-get install oracle-java7-set-default && source ~/.bashrc'

Затем вы можете переключаться внутри одной оболочки только с помощью: useJava7 или useJava8

3
ответ дан 23 May 2018 в 13:10
  • 1
    чтобы сделать псевдонимы постоянными, можно поместить их в ~ / .bashrc, подробнее здесь askubuntu.com/questions/17536/… – Konstantin Zyubin 5 February 2018 в 18:01
  • 2
    E: Не удается найти пакет oracle-java7-set-default – Prakash Pandey 27 March 2018 в 15:19
  • 3
    Неповторимый способ установки, использования и переключения между различными версиями Java - это использование SDKMAN! См. Здесь: sdkman.io/usage.html – brianjohnsen 28 March 2018 в 15:51

Настройка Java

Вы можете настроить, какая версия по умолчанию используется в командной строке, используя update-alternatives, которая управляет тем, какие символические ссылки используются для разных команд.

sudo update-alternatives --config java

Результат будет выглядеть примерно так:

There are 5 choices for the alternative java (providing /usr/bin/java).

  Selection    Path                                            Priority   Status
------------------------------------------------------------
* 0            /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java   1081      auto mode
  1            /usr/lib/jvm/java-6-oracle/jre/bin/java          1         manual mode
  2            /usr/lib/jvm/java-7-oracle/jre/bin/java          2         manual mode
  3            /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java   1081      manual mode
  4            /usr/lib/jvm/java-8-oracle/jre/bin/java          3         manual mode
  5            /usr/lib/jvm/java-9-oracle/bin/java              4         manual mode

Press <enter> to keep the current choice[*], or type selection number:

Теперь вы можете выбрать номер, который будет использоваться по умолчанию. Это также можно сделать для других команд Java, таких как компилятор (javac), генератор документации (javadoc), инструмент подписи JAR (jarsigner) и т. Д. Вы можете использовать следующую команду, заполнив команду, которую вы хотите настроить.

sudo update-alternatives --config command

Установка переменной JAVA_HOME Environment

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

Скопируйте путь из вашей предпочтительной установки, а затем откройте / etc / environment, используя Sublime Text или ваш любимый текстовый редактор.

sudo subl /etc/environment

В конце этого файла добавьте следующее line, чтобы заменить выделенный путь на свой собственный скопированный путь.

JAVA_HOME="/usr/lib/jvm/java-8-oracle"

Сохраните и выйдите из файла и перезагрузите его: source /etc/environment. Теперь вы можете проверить, была ли задана переменная среды, выполнив следующую команду: echo $JAVA_HOME. Это вернет путь, который вы только что установили.

0
ответ дан 23 May 2018 в 13:10

Другие вопросы по тегам:

Похожие вопросы: