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