Ubuntu11.10でjavaを切り替える

Ubuntuで複数バージョンのJavaを切り替える方法です。

Ubuntuはlaternativeシステムというのがあって
同じ機能をもつ複数のプログラムを一つのシステムに
インストールして切り替えることができるらしい。

Ubuntu の alternative システム
http://masaoo.blogspot.com/2009/07/ubuntu-alternative.html

$ sudo update-alternatives --config java
$ java -version
java version "1.6.0_23"
OpenJDK Runtime Environment (IcedTea6 1.11pre) (6b23~pre11-0ubuntu1.11.10.1)
OpenJDK 64-Bit Server VM (build 20.0-b11, mixed mode)
$ which java
/usr/bin/java
$ ll /usr/bin/java
lrwxrwxrwx 1 root root 22 2012-01-30 12:52 /usr/bin/java -> /etc/alternatives/java*
$ update-java-alternatives -l
java-1.6.0-openjdk 1061 /usr/lib/jvm/java-1.6.0-openjdk
java-1.7.0-openjdk-amd64 1051 /usr/lib/jvm/java-1.7.0-openjdk-amd64
$ sudo update-alternatives --config java
alternative java (/usr/bin/java を提供) には 2 個の選択肢があります。

  選択肢    パス                                          優先度  状態
------------------------------------------------------------
* 0            /usr/lib/jvm/java-6-openjdk/jre/bin/java         1061      自動モード
  1            /usr/lib/jvm/java-6-openjdk/jre/bin/java         1061      手動モード
  2            /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java   1051      手動モード

現在の選択 [*] を保持するには Enter、さもなければ選択肢の番号のキーを押してください: 
2
$ sudo update-alternatives --config java
alternative java (/usr/bin/java を提供) には 2 個の選択肢があります。

  選択肢    パス                                          優先度  状態
------------------------------------------------------------
  0            /usr/lib/jvm/java-6-openjdk/jre/bin/java         1061      自動モード
  1            /usr/lib/jvm/java-6-openjdk/jre/bin/java         1061      手動モード
* 2            /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java   1051      手動モード

現在の選択 [*] を保持するには Enter、さもなければ選択肢の番号のキーを押してください:

これで、どこのJavaを使用しているかわかるし、切り替えることができる。

切り替えはもっと簡単に、できるらしい。

$ sudo update-java-alternatives -s java-1.6.0-openjdk

けど、自分の環境でうごかない。

$ update-java-alternatives -l
java-1.6.0-openjdk 1061 /usr/lib/jvm/java-1.6.0-openjdk
java-1.7.0-openjdk-amd64 1051 /usr/lib/jvm/java-1.7.0-openjdk-amd64
$ sudo update-java-alternatives -s java-1.6.0-openjdk
update-alternatives: エラー: -javaplugin.so の alternatives がありません。
update-alternatives: エラー: -javaplugin.so の alternatives がありません。

これについては、また今度に解決しよう。