CentOSで「alternatives」コマンドを使用してJavaのバージョンを切り替える

CentOSJavaをOpenJDKじゃなくて、OracleJDKに変更しようとした時、
今までは「rpm -qa | grep java」で対象を洗いだして「yum」コマンドでアンインストールしていました。
ただこの方法だと他のパッケージと関連づいている場合もあるし、あまりスマートではありません。
ところが「alternatives」コマンドを使用すると、様々なバージョンのJavaを共存させて切り替える事ができます。
手順は下記になります。
既にOracleJDKをインストールしている事が前提です。

1 現在のJDKの確認

 # alternatives --config java

 1 プログラムがあり 'java' を提供します。

   選択       コマンド
 -----------------------------------------------
 *+ 1           /usr/lib/jvm/jre-1.6.0-openjdk.x86_64/bin/java

現在は「/usr/lib/jvm/jre-1.6.0-openjdk.x86_64/bin/java」が有効になっています。

2 インストールしたOracleJDKを登録

alternatives --install /usr/bin/java java /usr/java/default/bin/java 16024

各パラメータの概要は下記になります。

第1パラメータ 「/usr/bin/java 実行するリンクを指定します。
第2パラメータ java 登録対象のグループを指定します。
第3パラメータ 「/usr/java/default/bin/java 実際に実行するコマンドのパスを指定します。
第4パラメータ 「16021」 優先度を指定します。

今回は JDK1.6.0_24 ですので「16024」としています。
細かくバージョン管理を行う場合は「/usr/java/jdk1.6.0_24/bin/java」のように登録するといいと思います。

再度設定を確認すると登録したJDKが増えている事が確認できます。

 # alternatives --config java

 2 プログラムがあり 'java' を提供します。

   選択       コマンド
 -----------------------------------------------
  + 1           /usr/lib/jvm/jre-1.6.0-openjdk.x86_64/bin/java
 *  2           /usr/java/default/bin/java

 Enter を押して現在の選択 [+] を保持するか、選択番号を入力します:

ここで「2」を入力してEnterを押下すると設定が反映されます。

3 Javaのバージョンの確認

 # java -version
 java version "1.6.0_24"
 Java(TM) SE Runtime Environment (build 1.6.0_24-b07)
 Java HotSpot(TM) Client VM (build 19.1-b02, mixed mode, sharing)

登録したJDKが有効になっています。
この方法ならJDKのバージョンが増えても簡単に切り替える事ができます。