
(書式が間違っていたらあらかじめお詫びします。これは私の最初の投稿ですので、遠慮なく訂正してください)。
通常、使用している Java のバージョンを確認したい場合は、次のコマンドを実行します。
java -version
Javaバージョン「1.7.0_55」
Java バージョンを変更する場合 (Java 7 から Java 6 へ)、対応する JRE Java バイナリへのシンボリック リンク (/usr/bin/java) を指定するだけです。(ちなみに、このインスタンスでは、javac コンパイラや java_ws について心配する必要はありません)。
# readlink -f /usr/bin/java
java は、次のディレクトリにあります。
# ln -s /usr/lib/jvm/java-6-openjdk-i386/jre/bin/java /usr/bin/java
# java -version
Javaバージョン「1.6.0_31」
これは問題ありません。私が見る限りでは、正常に動作しています。
Solaris では、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
インストールされたソフトウェアの複数のバージョンを切り替える正しい方法は、次のとおりです。
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 が python バージョン 2.xx を参照し、python3 が python バージョン 3.xx を参照するようにしたい場合は、~/.bash_aliases
ファイルを開いて次のように入力します。
alias python=`/usr/bin/python`
alias python3=`/usr/bin/python3`
これまでにエイリアスを作成したことがない場合は、このファイルは空でも問題ありません。エイリアスを逆にしたい場合、つまり python が python3 を参照し、python2 が python2 を参照したい場合、エイリアスは必要に応じて調整できます。
ご覧のとおり、インストールされているバージョンが互いの代替であるかどうかによって異なります。代替である場合は を使用できますがupdate-alternatives
、そうでない場合は、エイリアスまたはソフトリンクを使用して調整する必要があります。より優れた、よりクリーンなソリューションがあるかもしれませんが、私はそれらを知りません。