読者です 読者をやめる 読者になる 読者になる

javaのalternatives切り替えメモ

Linuxに新しいJavaを入れた場合、alternativesに追加してバージョンを切り替えています。
コマンドを毎回忘れるのでメモしときます。

現在のバージョンを表示
$ java -version
java version "1.6.0_24"
OpenJDK Runtime Environment (IcedTea6 1.11.13) (amazon-65.1.11.13.56.amzn1-x86_64)
OpenJDK 64-Bit Server VM (build 20.0-b12, mixed mode)

新しいJDKをalternativesに追加
$ JAVA_HOME=/usr/java/jdk1.7.0_45
$ sudo /usr/sbin/alternatives --install /usr/bin/java java $JAVA_HOME/bin/java 200 \
    --slave /usr/bin/keytool keytool $JAVA_HOME/keytool \
    --slave /usr/bin/orbd orbd $JAVA_HOME/orbd \
    --slave /usr/bin/pack200 pack200 $JAVA_HOME/pack200 \
    --slave /usr/bin/rmid rmid $JAVA_HOME/rmid \
    --slave /usr/bin/rmiregistry rmiregistry $JAVA_HOME/rmiregistry \
    --slave /usr/bin/servertool servertool $JAVA_HOME/servertool \
    --slave /usr/bin/tnameserv tnameserv $JAVA_HOME/tnameserv \
    --slave /usr/bin/unpack200 unpack200 $JAVA_HOME/unpack200

バージョンを切り替え
$ sudo /usr/sbin/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/jdk1.7.0/bin/java

Enter to keep the current selection[+], or type selection number: 2

現在のバージョンを表示
$ 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)