Mac隨附並偶爾會更新JDK 1.4到1.6。你可以看到你已經安裝了該目錄中的版本:
- /System/Library/Frameworks/JavaVM.framework/Versions
這是你如何改變JDK
1。命令行Java
我的Java來自/ usr/bin/java,它指向上述'版本'目錄中的一個版本。要改變你在這裏得到的JDK版本,使用Java應用程序首選項在應用程序 - >工具 - > Java的:
您可以拖動JDK你想要的頂部和它應立即反映在命令行中: 主機名%java -version java版本「1.5.0_16」 Java™2運行時環境標準版(內部版本1.5.0_16-b06-284) Java HotSpot(TM) 64位服務器虛擬機(內部版本1.5.0_16-133,混合模式) 主機名%java -version Java版本「1.6.0_07」 Java(TM)SE運行環境噸(建立1.6.0_07-b06-153) 爪哇熱點(TM)64位服務器VM(建立1.6.0_07-b06-57,混合模式)
2.腳本和應用程序使用的Java
通常,其他內置應用程序或您安裝的應用程序將使用JAVA_HOME環境變量來選擇JDK。默認情況下,你將不會擁有這個集合,而Mac特定版本的啓動腳本通常會使用Java'Versions'目錄中的CurrentJDK鏈接創建一個。本文中介紹了添加環境變量的步驟,但我可以節省一些時間。在主目錄中創建一個目錄.MacOSX並添加一個名爲environment.plist的文件。這裏是我的〜/ .MacOSX /環境的全部內容。plist文件:
<!-- When changing this, also run Java Preferences and change there. -->
<key>JAVA_HOME</key>
<string>/System/Library/Frameworks/JavaVM.framework/Versions/1.6/Home</string>
設置此值,所有的進程開始,你將不得不提供給他們JAVA_HOME。由於此文件在您登錄時被讀取,因此您在創建或編輯此文件後必須先註銷/登入。
特殊情況:NetBeans的
我使用的IDE是NetBeans的,但下面的想法可能也適用於其他大型應用程序也是如此。當安裝NetBeans時,它將選擇一個JDK來使用並在屬性文件中對其進行硬編碼。如果您希望它依賴於您現在在environment.plist中設置的JAVA_HOME,則只需編輯一個文件即可。通過改變這一行
- /應用/的NetBeans/NetBeans的\ 6.5.app/Contents/Resources/NetBeans/etc/netbeans.conf
..和你可以設置JDK:編輯這個文件:
netbeans_jdkhome = $ JAVA_HOME
注意的是,作爲netbeans.conf文件所指出的,你總是可以強制不同的JDK由啓動IDE的命令行上指定它使用。爲了您的複製和粘貼樂趣,下面是用於從終端啓動它的命令(在這種情況下,我正在給出「幫助」選項)。如果你使用一個不同的版本,自動完成應該幫助與路徑的版本的一部分:
- /應用/的NetBeans/NetBeans的\ 6.5.app/Contents/MacOS/netbeans --help
重溫
總結一下,您可以通過使用Java應用程序首選項,在您的environment.plist文件更改值一起切換的JDK爲您的整個系統。要進行切換,請使用首選項應用程序,並在您使用的任何終端中爲JAVA_HOME設置一個新值,不過像NetBeans這樣的應用程序仍然會選擇系統值,並且您應該在命令行中指定所需的JDK。
,我發現這個解決方案的資源:https://blogs.oracle.com/bobby/entry/switching_jdks_on_mac
我剛剛安裝了Oracle JDK 7和Eclipse 4.2.2昨天,一切工作正常。 – 2013-04-05 20:59:30
鏈接的指南只是重置用於小程序和其他Web內容的Java運行時。它沒有提到任何有關在獨立環境中還原爲Java 6的內容。 – Perception 2013-04-05 21:00:57
但你需要java 6來編譯實際的Android源代碼本身。 – drlobo 2013-04-05 21:59:51