Переключение версии Java через Кв.?

(Извинения заранее, если мое форматирование выключено, это - мое первое сообщение, не стесняйтесь исправлять меня).

Обычно, когда я хочу узнать, какую версию Java я использую, я работаю:

java -version

версия "1.7.0_55" Java

Если я хочу изменить версию Java (от java 7 до java 6), я могу просто указать на символьную ссылку (/usr/bin/java) на соответствующий двоичный файл Java JREs. (Мы не должны волноваться о javac компиляторе или java_ws здесь, в этом экземпляре, btw).

# readlink -f /usr/bin/java

/usr/lib/jvm/java-7-openjdk-i386/jre/bin/java

# ln -s /usr/lib/jvm/java-6-openjdk-i386/jre/bin/java /usr/bin/java

# java -version

версия "1.6.0_31" Java

Это прекрасно, и насколько я вижу, это работает.

В Солярисе существует хороший способ сделать это через pkg инструмент посредника:

myHost# pkg mediator -H java

система Java 1,7 системы

Изменить Java с 1,7 до 1,6:

pkg set-mediator -V 1.6 java

Затем подтвердить изменения

myHost# pkg mediator -H java

Java локальные 1,6 системы

Я задаюсь вопросом, делает apt имеет эквивалент? Или есть ли более корректный способ переключиться между версиями Java?

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

1
задан 6 May 2014 в 16:44

1 ответ

Корректный способ переключиться между несколькими версиями установленного программного обеспечения использует:

sudo update-alternatives --config <package>

Так, для Java, необходимо выполниться:

sudo update-alternatives --config java

, который должен возвратить Вас установленные версии, который в моем случае является:

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

  Selection    Path                                            Priority   Status
------------------------------------------------------------
* 0            /usr/lib/jvm/java-7-oracle/jre/bin/java          1053      auto mode
  1            /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java   1051      manual mode
  2            /usr/lib/jvm/java-7-oracle/jre/bin/java          1053      manual mode

для переключения между версиями, которые можно ввести selection т.е. 0, 1, 2 в этом случае, в зависимости от версии, на которую Вы хотите переключиться.

Однако в случае Python, python2 и python3 не являются альтернативами, таким образом, Вы не найдете эту опцию, необходимо будет создать псевдонимы для этого.

Так, если Вы хотите, чтобы Python относился к версии 2.xx и python3 Python для обращения к версии 3.xx Python, можно открыть Ваш ~/.bash_aliases файл и ввести следующее:

alias python=`/usr/bin/python`
alias python3=`/usr/bin/python3`

Этот файл может быть пустым, если Вы не создали псевдонимы прежде, который прекрасен. Можно даже хотеть, чтобы псевдоним наоборот, т.е. Python относился к python3 и python2 для обращения к python2, можно настроить псевдоним, как Вы хотите.

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

1
ответ дан 11 November 2019 в 12:46

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

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