■環境
MacOS X(10.9)
※ 10.7-10.9までは今回の方法で大丈夫そう
■内容
実はMacOS版のJDKにはJAVA_HOMEを求める為のコマンドがバンドルされています。
このコマンドの実行結果をそのままJAVA_HOMEに設定するという方法で変数設定を行います。
コマンドの場所はというと「/usr/libexec/java_home」にシンボリックリンクが存在しており、実態は以下の場所にあります。
ls -l /usr/libexec/java_home
lrwxr-xr-x 1 root wheel 79 3 10 15:30 /usr/libexec/java_home -> /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java_home
試しに実行してみると
/usr/libexec/java_home
/Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents/Home
見事にJAVA_HOMEの場所を教えてくれます。
複数のバージョンがインストールされている場合は、引数を指定することでバージョン毎のJAVA_HOMEの場所を教えてくれます。
usr/libexec/java_home -v 1.7
/Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents/Home
/usr/libexec/java_home -v 1.6
/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
なかなか便利なコマンドではないでしょうか。
そしてこのコマンドの実行結果をJAVA_HOME変数に代入します。
「$HOME/.bash_profile」ファイル等に以下のコマンドを記述します。
export JAVA_HOME=`/usr/libexec/java_home -v 1.7`
以上です。]]>