My Memoday

独身に戻って人生やりなおし!(元)とうちゃんの日常劇場です。

全体表示

[ リスト ]

久しぶりに仕事しました(本人談)。

Fedora15では、gcj(1.5.x)とopenjdk(1.6.x)が標準だが、
jdk7がリリースされたので、導入してみたかったのだ。
こういった汎用的なライブラリをコントロールする alternatives というツールがある。
詳細は man ページを参考にしていただいて、自己責任で適用してください。

まずは、 jdk1.7.x をダウンロードしてインストールしておきます(管理者権限で)。
ダウンロードURL
http://www.oracle.com/technetwork/java/javase/downloads/index.html
$> rpm -ivh jdk-7-linux-i586.rpm
(32bitの場合。64bitなら jdk-7-linux-x64.rpm )

たとえば、alternatives_java.shというファイル名で以下のスクリプトを作成し、
$> sh alternatives_java.sh
と実行すればよい。
文字数制限にかかったので、まずは java について掲載。

#====== スクリプトファイルここから
#!/bin/bash

alternatives --install /usr/bin/java java /usr/java/latest/bin/java 27000 \
--slave /usr/bin/keytool keytool /usr/java/latest/bin/keytool \
--slave /usr/bin/orbd orbd /usr/java/latest/bin/orbd \
--slave /usr/bin/pack200 pack200 /usr/java/latest/bin/pack200 \
--slave /usr/bin/rmid rmid /usr/java/latest/bin/rmid \
--slave /usr/bin/rmiregistry rmiregistry /usr/java/latest/bin/rmiregistry \
--slave /usr/bin/servertool servertool /usr/java/latest/bin/servertool \
--slave /usr/bin/tnameserv tnameserv /usr/java/latest/bin/tnameserv \
--slave /usr/bin/unpack200 unpack200 /usr/java/latest/bin/unpack200 \
--slave /usr/bin/javaws javaws /usr/java/latest/bin/javaws \
--slave /usr/lib/jvm-exports/jre jre_exports /usr/java/latest/jre/lib \
--slave /usr/lib/jvm/jre jre /usr/java/latest/jre \
--slave /usr/share/man/man1/java.1 java.1 /usr/java/latest/man/man1/java.1 \
--slave /usr/share/man/man1/keytool.1 keytool.1 /usr/java/latest/man/man1/keytool.1 \
--slave /usr/share/man/man1/orbd.1 orbd.1 /usr/java/latest/man/man1/orbd.1 \
--slave /usr/share/man/man1/pack200.1 pack200.1 /usr/java/latest/man/man1/pack200.1 \
--slave /usr/share/man/man1/rmid.1 rmid.1 /usr/java/latest/man/man1/rmid.1 \
--slave /usr/share/man/man1/rmiregistry.1 rmiregistry.1 /usr/java/latest/man/man1/rmiregistry.1 \
--slave /usr/share/man/man1/servertool.1 servertool.1 /usr/java/latest/man/man1/servertool.1 \
--slave /usr/share/man/man1/tnameserv.1 tnameserv.1 /usr/java/latest/man/man1/tnameserv.1 \
--slave /usr/share/man/man1/unpack200.1 unpack200.1 /usr/java/latest/man/man1/unpack200.1 \
--slave /usr/share/man/man1/javaws.1 javaws.1 /usr/java/latest/man/man1/javaws.1
#====== スクリプトファイルここまで


なにも言われずスクリプトが完了したら、javaのバージョンを確認します。
$> java -version
java version "1.7.0"
Java(TM) SE Runtime Environment (build 1.7.0-b147)
Java HotSpot(TM) Server VM (build 21.0-b17, mixed mode)

java(jre)環境を切り替える場合は、
$> alternatives --config java
で簡単に切り替えられます。

jvm-exports のあたりが自信が無いけど、スクリプトが走ったのでよしとしています。
priority (優先度) 27000
という値は適当です。自分の環境で、
$> alternatives --display java
と実行したら openjdk 1.6.x が 16000 だったので、ほんとに適当に設定しました。

注意点としては、デフォルトで
/usr/java/latest
が、
/usr/java/jdk1.7.0
へのシンボリックリンクとなっているので、マイナーバージョンが同じなら問題ないと思われるが、
1.8.x も /usr/java/latest を利用するのであれば、システムに影響が無いか検討する必要があるだろう。

javac の設定はこちら。
http://blogs.yahoo.co.jp/touchan_since1971/54093305.html


.


プライバシー -  利用規約 -  メディアステートメント -  ガイドライン -  順守事項 -  ご意見・ご要望 -  ヘルプ・お問い合わせ

Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved.

みんなの更新記事