Java 8がリリースされたので早速インストールしたが、まだJava 7も残しておきたいし、切り替えることもあるので調べてみた。
Macでは、 /usr/libexec/java_home を使ってJAVA_HOMEを変えるのが一番スマートっぽい。
インストールされているJDKのバージョン一覧を出す
% /usr/libexec/java_home -V
Matching Java Virtual Machines (2):
1.8.0, x86_64: "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0.jdk/Contents/Home
1.7.0_45, x86_64: "Java SE 7" /Library/Java/JavaVirtualMachines/jdk1.7.0_45.jdk/Contents/Home
現在有効なJDKのバージョンを出す
% /usr/libexec/java_home
/Library/Java/JavaVirtualMachines/jdk1.8.0.jdk/Contents/Home
JDKのバージョンを切り替える
% export JAVA_HOME=`/usr/libexec/java_home -v 1.7.0_45`
% 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
% export JAVA_HOME=`/usr/libexec/java_home -v 1.8.0`
% java -version
java version "1.8.0"
Java(TM) SE Runtime Environment (build 1.8.0-b132)
Java HotSpot(TM) 64-Bit Server VM (build 25.0-b70, mixed mode)