CentOSのJava SEをアップデートしたのでメモ
今回はjdk1.6.0_24→jdk1.7.0_45のつもりだったが、どうやら前に1.7.0_11を入れた痕跡があっので面倒だった。
Java SE Downloadsからrpmをダウンロード。64bit環境なのでjdk-7u45-linux-x64.rpmをダウンロードした。
バージョン確認
# java -version java version "1.6.0_24"
先ほどDLしたrpmの実行
# rpm -ivh jdk-7u45-linux-x64.rpm 準備中... ########################################### [100%] ファイル /etc/init.d/jexec (パッケージ jdk-2000:1.7.0_45-fcs.x86_64 から) は、パッケージ jdk-2000:1.7.0_11-fcs.x86_64 からのファイルと競合しています。
以前にjdk1.7.0_11を入れた痕跡があった。しかもパスが通っていなかったらしく、バージョン確認の段階で分からなかった。
とりあえず1.7.0_11をアンインストール
# rpm -e jdk-1.7.0_11-fcs.x86_64
そしてもう一度
# rpm -ivh jdk-7u45-linux-x64.rpm 準備中... ########################################### [100%] 1:jdk ########################################### [100%] Unpacking JAR files... rt.jar... jsse.jar... charsets.jar... tools.jar... localedata.jar... jfxrt.jar...
成功。次にパスを通す。
設定の確認
# alternatives --display java java -ステータスは自動です。 リンクは現在 /usr/lib/jvm/jre-1.6.0-openjdk.x86_64/bin/java を指しています。 /usr/lib/jvm/jre-1.6.0-openjdk.x86_64/bin/java - 優先項目 16000 (略) 現在の「最適」バージョンは /usr/lib/jvm/jre-1.6.0-openjdk.x86_64/bin/java です。
alternativesに新しくインストールしたバージョンの追加。1.7.0_45なので優先項目を17045とした。
# alternatives --install /usr/bin/java java /usr/java/default/bin/java 17045
変更結果の確認
# alternatives --display java java -ステータスは自動です。 リンクは現在 /usr/java/default/bin/java を指しています。 /usr/lib/jvm/jre-1.6.0-openjdk.x86_64/bin/java - 優先項目 16000 (略) /usr/java/default/bin/java - 優先項目 17045 (略) 現在の「最適」バージョンは /usr/java/default/bin/java です。
使用するJavaバージョンの変更
# 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
確認
# java -version java version "1.7.0_45" Java(TM) SE Runtime Environment (build 1.7.0_45-b18) Java HotSpot(TM) 64-Bit Server VM (build 24.45-b08, mixed mode)
完了。