Mac 附带并偶尔更新 JDK 1.4 到 1.6。您可以在此目录中看到您已安装的版本:
- /System/Library/Frameworks/JavaVM.framework/Versions
这就是您更改JDK的方式
1.命令行Java
我的 Java 来自 /usr/bin/java,它指向上述“版本”目录中的版本之一。要更改您在此处获得的 JDK 版本,请使用 Applications -> Utilities -> Java 下的 Java Preferences 应用程序:
您可以将您想要的 JDK 拖到顶部,它应该会立即从命令行反映出来: hostname% java -version java version "1.5.0_16" Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_16 -b06-284) Java HotSpot(TM) 64 位服务器 VM (build 1.5.0_16-133, 混合模式) hostname% java -version java version "1.6.0_07" Java(TM) SE Runtime Environment (build 1.6.0_07) -b06-153) Java HotSpot(TM) 64 位服务器 VM(内部版本 1.6.0_07-b06-57,混合模式)
2. 使用 Java 的脚本和应用程序
通常,其他内置应用程序或您安装的应用程序将使用 JAVA_HOME 环境变量来选择 JDK。默认情况下,您不会有此设置,Mac 特定版本的启动脚本通常会使用 Java 'Versions' 目录中的 CurrentJDK 链接创建一个。添加环境变量的步骤记录在本文中,但我可以为您节省一点时间。在您的主目录中创建一个目录 .MacOSX 并添加一个名为 environment.plist 的文件。以下是我的 ~/.MacOSX/environment.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 ,您只需编辑一个文件。编辑这个文件:
- /Applications/NetBeans/NetBeans\ 6.5.app/Contents/Resources/NetBeans/etc/netbeans.conf
..您可以通过更改此行来设置 JDK:
netbeans_jdkhome=$JAVA_HOME
请注意,正如 netbeans.conf 文件所指出的,您始终可以通过在启动 IDE 时在命令行上指定来强制使用不同的 JDK。为了您的复制和粘贴乐趣,这里是用于从终端启动它的命令(在这种情况下,我给出了“帮助”选项)。如果您使用不同的版本,自动完成应该有助于路径的版本部分:
- /Applications/NetBeans/NetBeans\ 6.5.app/Contents/MacOS/netbeans --help
回顾
回顾一下,您可以通过使用 Java Preferences 应用程序以及更改 environment.plist 文件中的值来为整个系统切换 JDK。要即时切换,请使用 Preferences 应用程序并在您使用的任何终端中为 JAVA_HOME 设置一个新值,尽管 NetBeans 等一些应用程序仍会获取系统值,您应该在命令行上指定所需的 JDK。
我找到此解决方案的资源:https ://blogs.oracle.com/bobby/entry/switching_jdks_on_mac