Amazon LinuxにOracleのJDK 1.7をインストールして通常のjava, javacコマンドを1.7に入れ替えます。
利用したのはjdk-7u45-linux-x64.rpm
ダウンロードは公式サイトから。
http://www.oracle.com/technetwork/jp/java/javase/downloads/index.html
rpm -ihv jdk-7u45-linux-x64.rpm
デフォルトのjavaコマンドは/etc/alternatives以下からリンクが貼られている。
実際のパスは /usr/lib/jvm/jre-1.6.0-openjdk.x86_64、
RPMでインストールしたJDKは/usr/java/jdk1.7.0_45にインストールされる。
このインストールしたバージョンには/usr/java/default -> /usr/java/latest ->からリンクが貼られているので、利用するパスは/usr/java/defaultとする。これでOracleのRPMでインストールすると最新版が利用されるようになるはず。
ついでにjavacとjavadocもスレーブとして同時に切り替えられるようにする。
alternatives --install /usr/bin/java java /usr/java/default/bin/java 16745 \
--slave /usr/bin/javac javac /usr/java/default/bin/javac \
--slave /usr/bin/javadoc javadoc /usr/java/default/bin/javadoc \
--slave /usr/bin/keytool keytool /usr/java/default/bin/keytool \
--slave /usr/bin/orbd orbd /usr/java/default/bin/orbd \
--slave /usr/bin/pack200 pack200 /usr/java/default/bin/pack200 \
--slave /usr/bin/rmid rmid /usr/java/default/bin/rmid \
--slave /usr/bin/rmiregistry rmiregistry /usr/java/default/bin/rmiregistry \
--slave /usr/bin/servertool servertool /usr/java/default/bin/servertool \
--slave /usr/bin/tnameserv tnameserv /usr/java/default/bin/tnameserv \
--slave /usr/bin/unpack200 unpack200 /usr/java/default/bin/unpack200 \
--slave /usr/lib/jvm-exports/jre jre_exports /usr/java/default/jre/lib \
--slave /usr/lib/jvm/jre jre_exports /usr/java/default/jre
ついでにjava7コマンドも作っておく
ln -s /usr/java/default/bin/java /usr/bin/java7
alternativesコマンドでjavaのバージョンを切り替える
alternatives --config java
There are 2 programs which provide 'java'.
Selection Command
-----------------------------------------------
1 /usr/lib/jvm/jre-1.6.0-openjdk.x86_64/bin/java
*+ 2 /usr/java/default/bin/java
Enter to keep the current selection[+], or type selection number:
以降このコマンドで番号を入力して切り替えられる。
バージョン確認して切り替わっていればOK
# 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)
# javac --version
javac 1.7.0_45