MacBook Pro OS X 10.9。
JDK1.7
配置如下
網上查了一下,發現網上普遍存在一種不太好的硬編碼方式,比如以下這些:
JAVA_HOME=/Library/Java/Home JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Home JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Home //上面的幾個目錄其實是等價的鏈接關係,都指向的是蘋果提供的 Java 6
/System/Library/Frameworks/JavaVM.framework/Versions/ 下有多個不同版本的目錄,但它們鏈接的都是 CurrentJDK 目錄。總之,這些Java都是蘋果提供的Java,Oracle 或 OpenJDK 提供的 Java 不在此目錄中。
因爲不同的 Java 版本和不同的 Java 實現可能安裝在了不同的目錄下,所以使用硬編碼的目錄會有如下缺點:
- 安裝或升級新的 Java 後需要重新設置 JAVA_HOME(尤其是帶版本號的目錄)
- 無法適應不同的 Java 實現(Apple和Oracle的)
一點歷史:過去 Mac 上的 Java 都是由 Apple 自己提供的,只支持到 Java 6,並且OS X 10.7 開始系統並不自帶(而是可選安裝)。後來 Apple 加入 OpenJDK 繼續支持 Java 6,而 Java 7 將由 Oracle 負責提供。
根據蘋果的官方說明,Mac OS X 10.5 及以後的版本應該使用 /usr/libexec/java_home 命令來確定
JAVA_HOME ,而在此之前的版本由於沒有這個命令,則應該使用固定的 /Library/Java/Home 目錄。
最佳方式是:
export JAVA_HOME=`/usr/libexec/java_home`
另外,你還可以這樣用,來選擇不同的Java版本:
export JAVA_HOME=`/usr/libexec/java_home -v 1.6` or export JAVA_HOME=`/usr/libexec/java_home -v 1.7`
我安裝完 Oracle Java 7後 java_home 命令的各種輸出結果是:
默認或指定1.7的輸出: /Library/Java/JavaVirtualMachines/jdk1.7.0_10.jdk/Contents/Home /usr/libexec/java_home -v 1.6 的輸出: /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
一些補充說明:
Java 7 需要 Mac OS X 10.7.3 (Lion) 及以上版本才能安裝。
在瀏覽器中運行Java要求是64位瀏覽器,所以不支持Chrome, Safari 或 Firefox 沒問題。
更多內容,比如“如何卸載”、“卸載 Oracle Java 7 後如何還原 Apple Java 6”等,請參考下面這些參考資料: