Mac OS Xで$ JAVA__HOME環境変数を設定する方法

Mac OS Xで$ JAVA_HOME環境変数を設定する方法

このチュートリアルでは、最新または古いMac OSXで$JAVA_HOME環境変数を設定する方法を示します。

1. Mac OSX 10.5以降

Mac OSX 10.5以降では、$JAVA_HOME変数を/usr/libexec/java_homeに設定し、ファイル~/. bash_profileまたは~/.profile$JAVA_HOMEをエクスポートすることをお勧めします。

$ vim .bash_profile

export JAVA_HOME=$(/usr/libexec/java_home)

$ source .bash_profile

$ echo $JAVA_HOME
/Library/Java/JavaVirtualMachines/1.7.0.jdk/Contents/Home

Why /usr/libexec/java_home?
このjava_homeは、現在のユーザーのJava設定で指定されたJavaバージョンを返すことができます。 たとえば、

/usr/libexec/java_home -V
Matching Java Virtual Machines (3):
    1.7.0_05, x86_64:   "Java SE 7" /Library/Java/JavaVirtualMachines/1.7.0.jdk/Contents/Home
    1.6.0_41-b02-445, x86_64:   "Java SE 6" /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
    1.6.0_41-b02-445, i386: "Java SE 6" /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home

このMac OSXには3つのJDKがインストールされています。

##return top Java version
$ /usr/libexec/java_home
/Library/Java/JavaVirtualMachines/1.7.0.jdk/Contents/Home

## I want Java version 1.6
$ /usr/libexec/java_home -v 1.6
/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home

2. 古いMac OSX

古いMacOSXの場合、/usr/libexec/java_homeは存在しないため、JAVA_HOMEを固定パスに設定する必要があります。

$ vim .bash_profile

export JAVA_HOME=/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home

$ source .bash_profile

$ echo $JAVA_HOME
/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home