(Извинения заранее, если мое форматирование выключено, это - мое первое сообщение, не стесняйтесь исправлять меня).
Обычно, когда я хочу узнать, какую версию 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 ответы
Корректный способ переключиться между несколькими версиями установленного программного обеспечения использует:
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
, в противном случае необходимо будет настроить псевдонимы использования или гибкие ссылки. Могут быть лучшие, более чистые решения, но я не знаю о тех.