管理、安裝Java for Mac
Mac OSX 已經預裝好Java環境,但有可是舊版的,像OS X 10.10內建的是Java 1.6:
/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
安裝
有在開發或使用Java應用可能需要最新版本時就必需安裝新版的Java環境,現在是Java 7為主,所以需要自行到官網下載新版的,
默認安裝好的Java 7路徑會是在:
/Library/Java/JavaVirtualMachines/jdk1.7.0_71.jdk/Contents/Home
設定默認環境
利用編輯軟體開啟 ~/.bash_profile:
vi ~/.bash_profile
增加Java環境變數:
export JAVA_HOME=$(/usr/libexec/java_home) export PATH=$JAVA_HOME/bin:$PATH
這樣每次進入終端機(Terminal)時就會將Java Home的路徑加上去,使用新版的Java環境。
Java Home
設定環境變數時有看到執行檔java_home
,它是OS X上管理每個Java版本路徑的程式,你可以利用它得知目前的Java有安裝哪些版本及路徑,單執行java_home
/usr/libexec/java_home
會返回目前使用Java最高版本的路徑:
/Library/Java/JavaVirtualMachines/jdk1.7.0_71.jdk/Contents/Home
加上它的參數-V
能得知目前各版本的路徑:
/usr/libexec/java_home -V
注意參數為大寫的V
,執行後會返回訊息:
Matching Java Virtual Machines (3): 1.7.0_71, x86_64: "Java SE 7" /Library/Java/JavaVirtualMachines/jdk1.7.0_71.jdk/Contents/Home 1.6.0_65-b14-466.1, x86_64: "Java SE 6" /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home 1.6.0_65-b14-466.1, i386: "Java SE 6" /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home /Library/Java/JavaVirtualMachines/jdk1.7.0_71.jdk/Contents/Home
手動切換Java預設版本
Java Home
預設返回為最高版本的Java環境路徑,如果想要自由切換Java版本路徑的話可以參考How to switch JDK version on Mac OS X,在.bash_profile
上加入幾個Script指令來擷取你要指定版本的路徑並加入PATH中:
function setjdk() { if [ $# -ne 0 ]; then removeFromPath '/System/Library/Frameworks/JavaVM.framework/Home/bin' if [ -n "${JAVA_HOME+x}" ]; then removeFromPath $JAVA_HOME fi export JAVA_HOME=`/usr/libexec/java_home -v $@` export PATH=$JAVA_HOME/bin:$PATH fi } function removeFromPath() { export PATH=$(echo $PATH | sed -E -e "s;:$1;;" -e "s;$1:?;;") } setjdk 1.7
如此你進入終端機(Terminal)時直接執行寫好的setjdk來指定你要的版本,假設我的環境中有1.6那你就可以執行:
setjdk 1.6