カタカタブログ

SIerで働くITエンジニアがカタカタした記録を残す技術ブログ。Java, Oracle Database, Linuxが中心です。たまにRuby on Railsなども。

Cent OS 7にalternativesを使ってOracle JDK7をインストールしたときのメモ

Cent OS 7.0のJavaはデフォルトだとOpen JDK 7が入っているが、これをOracle JDK 7に切り替えたときのメモ。といっても公式サイトからOracle JDKのtar.zipを落としてalternativesで切り替えただけなので、Cent OS 7に限った話ではないはず。ちなみにこのCent OS 7 はVagrantbox.esから入手したminimal版を使っている。

まずデフォルトのJDKを確認。OpenJDKがインストールされている。

$ java -version
java version "1.7.0_75"
OpenJDK Runtime Environment (rhel-2.5.4.2.el7_0-x86_64 u75-b13)
OpenJDK 64-Bit Server VM (build 24.75-b04, mixed mode)

下記のサイトからJDK7のパスを確認の上、wgetでtar.gzをダウンロードし、それを解凍する。
http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html
f:id:osn_th:20150228122654j:plain

# cd /opt/
# wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/7u75-b13/jdk-7u75-linux-x64.rpm"
# tar xfz jdk-7u75-linux-x64.tar.gz

alternativesでJava切り替える。まず現在のconfigを確認しておく。

# alternatives --config java

There is 1 program that provides 'java'.
  Selection    Command
-----------------------------------------------
*+ 1           /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.75-2.5.4.2.el7_0.x86_64/jre/bin/java
Enter to keep the current selection[+], or type selection number: 

やはりOpenJDKが1つだけ入っているよう。

alternativesに入手したOracle JDK7を登録する。(※最後の”2”は優先度を表すらしいがよくわからないので、適当に設定。特に問題なさそう。)

# alternatives --install /usr/bin/java java /opt/jdk1.7.0_75/bin/java 2
# ls -l /usr/bin/java
lrwxrwxrwx. 1 root root 22 Feb 27 21:37 /usr/bin/java->/etc/alternatives/java

alternativesで今回登録したJavaに切り替える。追加したJDKが2番になっているので、2を選択する。

# alternatives --config java

There are 2 programs which provide 'java'.
  Selection    Command
-----------------------------------------------
*+ 1           /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.75-2.5.4.2.el7_0.x86_64/jre/bin/java
   2           /opt/jdk1.7.0_75/bin/java
Enter to keep the current selection[+], or type selection number: 2

Javaのバージョンを確認する。

# java -version
java version "1.7.0_75"
Java(TM) SE Runtime Environment (build 1.7.0_75-b13)
Java HotSpot(TM) 64-Bit Server VM (build 24.75-b04, mixed mode)

正しくOracle JDKに切り替わったよう。
alternativesで管理しているので、他のバージョンのJDKを使いたかったり、元のOpen JDKに切り戻すのもこれで簡単にできる!

以上。