alternativesでjavaを選ぶ。

Fedora14にtomcat6をyumで突っ込むと、openJDKが依存で入る。sun-javaで動かしたい時はopenJDKを個別に単体でアンインストールした後にsun-javaを入れれば問題ないが、alternativesという管理方法のリストに追加して、alternavites越しに操作した方が自分的には美しく感じたのでやってみた。


# alternatives --display java
java -ステータスは自動です。
リンクは現在 /usr/lib/jvm/jre-1.6.0-openjdk/bin/java を指しています。
/usr/lib/jvm/jre-1.6.0-openjdk/bin/java - 優先項目 16000
スレーブ javaws: /usr/lib/jvm/jre-1.6.0-openjdk/bin/javaws
(中略)
スレーブ unpack200.1.gz: /usr/share/man/man1/unpack200-java-1.6.0-openjdk.1.gz
/usr/lib/jvm/jre-1.5.0-gcj/bin/java - 優先項目 1500
スレーブ javaws: (null)
(中略)
スレーブ unpack200.1.gz: (null)
現在の「最適」バージョンは /usr/lib/jvm/jre-1.6.0-openjdk/bin/java です。
openJDKとgcjが登録されてる。sun-javaは既にインストール済み(/usr/java/jdk〜)。
alternativesにsun-javaを追加する。

# update-alternatives --install /usr/bin/java java /usr/java/jdk1.6.0_24/bin/java 16001
構文 : update-alternatives --install 実行パス(which javaで出る先) グループ名(javaコマンドの候補群) プログラムパス(インストール先の実行ファイル) 優先度(数字が大きいと優先される)
openJDKの優先度が16000だったので16001で追加してみた。再びチェック。

# alternatives --display javajava -ステータスは自動です。
リンクは現在 /usr/java/jdk1.6.0_24/bin/java を指しています。
/usr/lib/jvm/jre-1.6.0-openjdk/bin/java - 優先項目 16000
スレーブ javaws: /usr/lib/jvm/jre-1.6.0-openjdk/bin/javaws
(中略)
スレーブ unpack200.1.gz: /usr/share/man/man1/unpack200-java-1.6.0-openjdk.1.gz
/usr/lib/jvm/jre-1.5.0-gcj/bin/java - 優先項目 1500
スレーブ javaws: (null)
(中略)
スレーブ unpack200.1.gz: (null)
/usr/java/jdk1.6.0_24/bin/java - 優先項目 16001
スレーブ javaws: (null)
(中略)
スレーブ unpack200.1.gz: (null)
現在の「最適」バージョンは /usr/java/jdk1.6.0_24/bin/java です。
[root@localhost java]# java -version
java version "1.6.0_24"
Java(TM) SE Runtime Environment (build 1.6.0_24-b07)
Java HotSpot(TM) Server VM (build 19.1-b02, mixed mode)
設定できてるみたいですね。