
(Ich entschuldige mich im Voraus, falls meine Formatierung nicht stimmt, dies ist mein erster Beitrag, korrigieren Sie mich bitte gerne).
Wenn ich herausfinden möchte, welche Java-Version ich verwende, führe ich normalerweise Folgendes aus:
java -version
Java-Version „1.7.0_55“
Wenn ich die Java-Version ändern möchte (von Java 7 auf Java 6), kann ich einfach den symbolischen Link (/usr/bin/java) auf die entsprechende Java-Binärdatei der JREs richten. (In diesem Fall müssen wir uns übrigens nicht um den javac-Compiler oder java_ws kümmern.)
# 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
Java-Version „1.6.0_31“
Das ist in Ordnung und soweit ich das beurteilen kann, funktioniert es.
Unter Solaris gibt es hierfür eine praktische Möglichkeit mit dem Tool „pkg mediator“:
myHost# pkg mediator -H java
Java-System 1.7-System
So ändern Sie Java von 1.7 auf 1.6:
pkg set-mediator -V 1.6 java
Bestätigen Sie anschließend die Änderungen
myHost# pkg mediator -H java
lokales Java-1.6-System
Ich frage mich, ob es apt
ein Äquivalent gibt. Oder gibt es eine elegantere Möglichkeit, zwischen Java-Versionen zu wechseln?
Edit: Das könnte auch für Python gelten, daher suche ich nicht nach Java-spezifischen Antworten
Antwort1
So wechseln Sie richtig zwischen mehreren Versionen einer installierten Software:
sudo update-alternatives --config <package>
Für Java müssen Sie also Folgendes ausführen:
sudo update-alternatives --config java
Dadurch sollten Ihnen die installierten Versionen zurückgegeben werden. In meinem Fall sieht das so aus:
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
Um zwischen den Versionen zu wechseln, können Sie selection
in diesem Fall z. B. 0, 1, 2 eingeben, abhängig davon, zu welcher Version Sie wechseln möchten.
Im Fall von Python sind Python2 und Python3 jedoch keine Alternativen, Sie werden diese Option also nicht finden und müssen hierfür Aliase erstellen.
Wenn Sie also möchten, dass „Python“ auf die Python-Version 2.xx verweist und „Python3“ auf die Python-Version 3.xx, können Sie Ihre ~/.bash_aliases
Datei öffnen und Folgendes eingeben:
alias python=`/usr/bin/python`
alias python3=`/usr/bin/python3`
Diese Datei kann leer sein, wenn Sie zuvor keine Aliase erstellt haben. Das ist in Ordnung. Sie möchten den Alias vielleicht auch andersherum, also dass Python auf Python3 verweist und Python2 auf Python2. Sie können den Alias nach Belieben anpassen.
Wie Sie sehen, kommt es darauf an, ob die installierten Versionen Alternativen zueinander sind. Wenn sie Alternativen sind, können Sie verwenden update-alternatives
, wenn nicht, müssen Sie mithilfe von Aliasnamen oder Softlinks Anpassungen vornehmen. Es gibt vielleicht bessere, sauberere Lösungen, aber die sind mir nicht bekannt.