在 Mac OS X 上安装了 Java 7,但终端仍在使用版本 6

Posted

技术标签:

【中文标题】在 Mac OS X 上安装了 Java 7,但终端仍在使用版本 6【英文标题】:Installed Java 7 on Mac OS X but Terminal is still using version 6 【发布时间】:2012-09-27 06:39:14 【问题描述】:

我已经安装了从 oracle 网站下载的 JDK 7u7。但是安装后终端还是显示java version 6

$java -version
java version "1.6.0_35"
Java(TM) SE Runtime Environment (build 1.6.0_35-b10-428-11M3811)
Java HotSpot(TM) 64-Bit Server VM (build 20.10-b01-428, mixed mode)

知道为什么 java 7 没有出现吗?

回答: 好的,问题已解决。这是答案: 我发现我的终端有一个 .bash_profile 并且 java home 变量设置为 1.6

export JAVA_HOME="/System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Home"

所以每次我打开一个新的终端窗口时,这就是导致问题的行。 只需删除此行即可解决问题。您仍然需要遵循@aleroot 所说的内容,但如果这对您不起作用,请检查 .bash_profile(或 .bashrc)设置文件以查看您之前是否导出过任何 java 版本。

【问题讨论】:

我遇到了这个问题,但我只更新了 JRE 而不是 JDK。一旦我更新了 JDK,它就会显示正确的版本。 迁移到 Ask Different? 只是为了引起对@Mazzy 评论的额外关注,这是一个容易犯的错误。下载 JRE v7 将导致在运行在线版本检查器或 Java 控制面板时出现版本 7,但是从命令行调用 Java 时,您将从之前安装的 JDK 运行旧版本。因此,请仔细检查以确保您安装了 JDK 而不仅仅是 JRE。 解决这个问题的最佳方法是使用export JAVA_HOME 方法,就像detailed here 以稍微灵活的方式。 让我用大写字母强调这一点:登陆此页面的许多人只需要下载并安装最新的 JDK。 JAVA 控制面板仅更新 JRE。 【参考方案1】:

因为您需要进入 Java Preferences 窗格并以这种方式仅标记 JVM 7:

要在 Mac OS X 中轻松快速地打开 Java Preferences 窗格,您只需使用 +SPACE 并输入 System Preferences 它将显示在窗口的最后一行。

【讨论】:

是的,找到了。但终端中仍然是 1.6 版,我需要重新启动还是什么 此面板在 10.8 中不再存在。替代品? @Pepijn 该panale 是Mac OSX 10.8.2 的历史,不再需要它了。相反,您必须使用 export JAVA_HOME=`/usr/libexec/java_home -v 1.7` 从 Oracle 切换到最新的 Java 7 JDK。 我认为他们在某些时候摆脱了 Java Preferences。 Spotlight 在我的盒子上没有找到它。运行 10.8.5。 可以在 -> 系统偏好设置 -> java.home 下找到 JAVA_HOME 的确切位置。单击“Java”选项卡。点击查看。 Path 变量显示您的 JAVA_HOME(平铺 /Home)。【参考方案2】:

http://www.java.com/en/download/faq/java_mac.xml 是一个很好理解的地方,虽然 Apple 停止了对 Java 的支持,但为什么 Java Preferences 不再存在并依赖 System_Preferences => Java => Java 如果安装了 Oracle 的 Java 7。

【讨论】:

这是很好的信息,但您确实应该提供更多详细信息,而不仅仅是一个链接。如果将来链接断开,您的答案真的不会很有用。【参考方案3】:

我遇到了类似的问题,终端没有更新 java 版本以匹配 mac 上安装的版本。

设置 JAVA_HOME 环境变量没有问题

我想出了一个临时的、有点痛苦但有效的解决方案。

在你的 .bash_profile 添加这一行:

export JAVA_HOME="/Library/Java/JavaVirtualMachines/jdk1.7.0_11.jdk/Contents/Home"

(这是我机器上的路径,但在你的机器上可能不同,请确保获取你的。路径应与 /Library/Java/JavaVirtualMachines/ 匹配)

运行source ~/.bash_profile

正如我所提到的,这是一个临时的创可贴解决方案,因为 java 主路径是硬编码的。确实没有办法设置获取最新版本的路径,因为这就是 Apple 应该为终端所做的事情,问题是 Apple 的 java_home 环境变量没有更新。

【讨论】:

目录为空。 $ ls /Library/Java/JavaVirtualMachines/ 您可能对安装 java 7 的位置有疑问。请转至 oracle's website。点击“Java SE Development Kit 7u11”链接,接受许可协议,下载“jdk-7u11-macosx-x64.dmg”。使用 dmg 安装 Java 7,这应该把它放在你的 JavaVirtualMachines 目录中。 这是 2019 年初 Mojave 10.14.1 上的一种解决方案【参考方案4】:

硬编码 JAVA_HOME 路径可能不是最好的主意。 /usr/libexec/java_home 实用程序 sill 适用于 Mac OSX Lion 10.7.5 和 JDK 1.7.0_13。根据其手册页,它旨在与 Apple 的旧 Java Preferences 窗格一起使用,但它似乎与 Oracle 提供的替代品(Java Control Panel)一起使用。例如,运行 /usr/libexec/java_home -V 会列出我机器上所有已安装的 JDK(1.6.* 和 1.7.*)。

因此,正如在其他线程中所讨论的(例如 What should I set JAVA_HOME to on OSX),我仍然建议在您的 .bash_profile 中添加以下行:

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

【讨论】:

我同意您的评论,因为这是最佳实践,但由于某种原因,java_home 环境变量设置不正确,这就是为什么这不起作用。我相信在 Apple 的最新更新中,您的建议是默认情况下终端和其他相关应用程序中 JAVA_HOME 的默认操作。 @Derek “java_home 环境变量设置不正确”到底是什么意思?根据this article,/usr/libexec/java_home 实用程序也适用于 java 7 版本,它返回安装的最新 JDK 的路径。它在我的机器上完美运行。 是的,它应该可以工作,但它不适用于有 pepijin 提到的问题的人。【参考方案5】:

由于我没有遇到过这个问题,所以我有一个预感——

你可以试试这个吗:

软链接“java_home”指向哪里:

ls -lrt /usr/libexec/java_home

输出:(发育迟缓) lrwxr-xr-x java_home -> /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java_home

**ls -lrt /System/Library/Frameworks/JavaVM.framework/Versions 我的 MAC 产生以下内容:

 lrwxr-xr-x CurrentJDK ->
 /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents**

 lrwxr-xr-x   Current -> A
 lrwxr-xr-x  1 root  wheel   10 Oct 18 14:39 1.6.0 -> CurrentJDK
 lrwxr-xr-x  1 root  wheel   10 Oct 18 14:39 1.6 -> CurrentJDK
 lrwxr-xr-x  1 root  wheel   10 Oct 18 14:39 1.5.0 -> CurrentJDK
 lrwxr-xr-x  1 root  wheel   10 Oct 18 14:39 1.5 -> CurrentJDK
 lrwxr-xr-x  1 root  wheel   10 Oct 18 14:39 1.4.2 -> CurrentJDK
 lrwxr-xr-x  1 root  wheel   10 Oct 18 14:39 1.4 -> CurrentJDK

基于此,我们可能会得到提示以进一步进行?

【讨论】:

阅读 Internet 上有关 MAC-OSX 的 Java 7 问题的一些评论,它显示被阻止。请参阅:grep.dk/tag/xprotect-meta-plist。在 XProtect.meta.plist 中,我列出了 Java 7 和 Flash。直到正在播放漏洞警察【参考方案6】:

我建议你看看工具Jenv

这将允许您随时在已安装的 JVM 之间切换。

简单来说:

jenv global oracle-1.7

稍后用于测试目的:

jenv global oracle-1.6

你还有更多可用的命令。

【讨论】:

+1 这个答案,因为你可以使用 Homebrew,如果你已经在你的 OS X 系统中使用它。比我说的其他人干净得多。更多信息在这里:jenv.be【参考方案7】:

Oracle 的安装程序将 java 放入 /Library/Internet Plug-Ins/JavaAppletPlugin.plugin。它不会覆盖/usr/bin/java。所以,如果你发出一个

whereis java

在终端中,它将返回 /usr/bin/java。 (这又指向/System/Library/Frameworks/JavaVM.framework/Versions/A/Commands/java,这是Apple的1.6版本)。

因此,如果您想使用新的 java 版本,请将 /usr/bin/java 符号链接替换为指向 /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/java

sudo rm /usr/bin/java
sudo ln -s /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/java /usr/bin

【讨论】:

这里是命令:sudo ln -s /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/java /usr/bin 维克托的命令有效。但您可能还需要确保删除现有的 java 符号链接 rm /usr/bin/java 在 Oracle 人员改进此过程之前,这里是在 osx 系统上安装 java 的整个过程的 HOWTO,直到并包括最后的符号链接步骤:gist.github.com/johan/10590467 我收到了rm: /usr/bin/java: Operation not permitted export PATH="/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin:$PATH" 【参考方案8】:

vi ~/.bash_profile

添加

export JAVA_HOME=`/usr/libexec/java_home -v 1.7`

这告诉您的/usr/bin/java 链接目标使用安装在

中的最新 Java 7 包

/Library/Java/JavaVirtualMachines/

所以对于 JDK 1.7.0_17 JAVA_HOME 将是:

/Library/Java/JavaVirtualMachines/jdk1.7.0_17.jdk/Contents/Home

注意:最近该领域发生了很多变化,将 Mac OS X 从 Appels 自己的系统集成 Java 包迁移到基于 Oracle 的 Java 包。从 Mac OS X 10.8.2 开始,上述解决方案运行良好

【讨论】:

+1 这个答案是正确的,因为它适用于删除“Java 首选项”之前和之后的 Mac OS 版本,并且通过显示“-v”选项它演示了你如何即使安装了 java 7(这是我想要的),也可以使用 java 6。因此,在运行 Lion (10.7.5) 的 Mac 上,我使用带有“-v 1.6”的相同命令。这是至关重要的,因为我需要 Java 6 而 Oracle 没有为 Mac OS 提供 Java 7 - 只有 Java 7,即使安装了 Java 7,这也允许我使用已安装的 JAva 6。 另外,为了更灵活:mikemainguy.blogspot.com/2014/11/… 其他信息 can be found here 以获得这个很棒的答案! 安装 1.8 JKD 后,这在 Sierra 10.12 中为我工作,导出工作通过将 1.7 更改为 1.8。使用 java_home 实用程序的好答案! 对于.cshrc setenv JAVA_HOME `/usr/libexec/java_home -v 15`【参考方案9】:

就我而言,问题在于 Oracle 将其安装到了与我习惯不同的位置。

从 Oracle 下载:http://java.com/en/download/mac_download.jsp?locale=en

    通过查看系统偏好来验证它是否已正确安装:

    Command-Space 打开 Spotlight,输入“系统偏好设置”,按 Enter。 单击底部行中的 Java 图标。 Java 控制面板打开后,单击“Java”选项卡、“查看...”,然后验证您的安装是否正常。您还可以在那里看到一个“路径”,如果它们与我的不同,您可以将其子放入下面的命令中。

    验证版本是否符合您的预期(根据需要在您的路径中添加):

    /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/java -version

    创建从 /usr/bin/java 到新安装的链接

    sudo ln -fs /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/java /usr/bin/java

    完整性检查您的版本:

    java-版本

【讨论】:

也为我工作,我也尝试了其他解释,但是使用 Maverix 没有面板可以选择版本号,并且更改 .bash_profile 也不起作用。完美! Eclipse 在编译器下看不到 1.7 为我工作!之前 = 1.6.0_65 和使用此解决方案之后 = 1.7.0_60 .... 谢谢! :) 但是 eclipse 给出的错误仍然像'jvm共享库不包含jni_createjavavm符号' ....:( 感谢您的帮助!除此以外,没有其他任何工作。跑步优胜美地【参考方案10】:

安装JDK 7,这个问题就会自行解决。

确保获得包含编译器和类似内容的 Java 开发工具包 (JDK),而不仅仅是 Java 运行时环境 (JRE)。

【讨论】:

安装完整的 JDK,而不仅仅是 JRE。 -1 它没有帮助。安装 JDK 不会改变 /usr/bin/javaJAVA_HOME。但是JAVA_HOME 的设置有帮助。 在 OSX 10.9.4 上确认正常。它不会改变 /usr/bin 链接,它会改变它下面的东西。所以/usr/bin/java -> /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java # But: /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java -version java version "1.7.0_67" 也适用于 JDK 1.8——(安装 JDK 1.8 而不是 JRE 1.8) 我尝试安装 Java 1.8,但这在 El Capitan 上不起作用。安装 1.7 解决了我的问题。【参考方案11】:

这是因为您的 .bash_profile 没有反映更改。要反映它,只需使用以下命令

$ source .bash_profile

【讨论】:

【参考方案12】:

我做到了

export JAVA_HOME=`/usr/libexec/java_home`

这解决了我的 Java 8 问题。

之前:

java version "1.6.0_31"
Java(TM) SE Runtime Environment (build 1.6.0_31-b04)
Java HotSpot(TM) 64-Bit Server VM (build 20.6-b01, mixed mode)

之后:

java version "1.8.0_05"
Java(TM) SE Runtime Environment (build 1.8.0_05-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.5-b02, mixed mode)

【讨论】:

/usr/libexec/java_home 是一个很好的指示,谢谢! 在阅读了大量可能的解决方案后,为我完成了这项工作!谢谢:)【参考方案13】:

这太疯狂了! Oracle如何提供不安装任何东西的安装程序!?

对我来说是这样的:

sudo rm /usr/bin/java
sudo ln -s /Library/Java/JavaVirtualMachines/jdk1.8.0_31.jdk/Contents/Home/jre/bin/java /usr/bin/java

其中 1.8.0_31 是您安装的 java 版本...

【讨论】:

为什么苹果没有提供合适的方法?【参考方案14】:

我通过重新安装 Yosemite 解决了这个问题,然后在终端 (java -version) 和 (javac -version) 上交叉检查 java 版本。它现在可以正常工作。它不会更改为 java 7,因为版本 6 仍然存在于 ( command + n) libray>java>javavirtualmachine>你的javac当前版本。你需要地址到java home。

【讨论】:

【参考方案15】:

我认为你可以尝试安装 jdk 而不是 jre。通过安装jdk,/usr/bin/java 中的java 将被替换,所有库都可以正常工作。

【讨论】:

【参考方案16】:

基本问题:/usr/bin/java 最初指向的是 OSX 本身提供的(/System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java) 我们需要将其指向 JDK 安装程序下载的那个。以下步骤适用于 OSX 10.10.4 Yosemite。

打开系统首选项 -> 选择 Java。 Java 窗口随即打开。 单击顶部的 Java 选项卡。点击“查看”按钮。 Java 运行时环境设置选项卡打开如下: 双击Path项目并复制路径(cmd+c)。这是 JDK 安装程序/更新程序安装的最新版本。就我而言,路径是/Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/java 打开终端。在这一步中,我们将(符号链接,ln -s 命令)将系统 java 二进制文件指向我们在上一步中发现的最新版本。运行以下命令:

sudo ln -s /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/java /usr/bin/java

就是这样。要验证,您可以运行 java -version 在终端上。它应该输出您安装/更新到的最新版本。

【讨论】:

对我有用,除了我必须将 -f 添加到 ln 命令。否则如果 ln 失败:/usr/bin/java: File exists 在我的情况下,我会在终端命令中使用 usr/local/bin 而不是 usr/bin 我收到“不允许操作”。 以这种方式获取路径比较理想。然后我能够导出它并重新加载 bashrc 以解决版本问题。就我而言,我正在 Mojave 10.14.1 上从版本 7 迁移到版本 8【参考方案17】:

自 El Capitan 以来,由于引入了新的“无根”政策,因此很难删除 /usr/bin/java 符号链接。

因此,我只是在我的.bashrc 文件中的PATH 中添加了最新Java 版本的路径(在我的例子中是/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin):

# Use latest java version
export PATH=/Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin:$PATH

要为当前会话重新加载 .bashrc 文件,请在 shell 中运行 source ~/.bashrc。您只需对更改 .bashrc 文件之前已启动的会话执行此操作。

现在使用最新版本,当您在 shell 中使用 java 时。

【讨论】:

这个特殊的解决方案在我的 mac os x el capitan 上对我有用。我没有绕过 el capitan 上的安全设置,而是安装了 java 1.8 版。执行 export JAVA_HOME=/my specific path etc etc/ 不起作用(在转到首选项并找到 1.8 的路径之后)。请注意 1.6 仍然安装。我必须创建一个 .bashrc 文件并按照此处所述设置路径。我运行了 java -version 和 shazzam!它奏效了。 我非常希望它能够工作,因为我在 El Capitan 上并且无法获得任何其他解决方案。我创建了一个“.bashrc”文件并添加了上面的行,但如果我输入“java -version”,我仍然得到 1.6。有什么我可能忽略的吗? @user3810073 也许你需要运行source .bashrc,以便重新加载.bashrc的内容 为我工作。我将该行添加到 .bash_profile(在我的用户的主目录中),然后添加源 .bash_profile。然后 java -version 给了我最新的。谢谢! 这也可以通过符号链接到/usr/local/bin 来实现,如下所示:sudo ln -sf "/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/java" /usr/local/bin/java 假设/usr/local/bin/usr/bin 之前在您的/usr/bin 之前,默认情况下应该是。【参考方案18】:

您可以运行此命令来查找 /Library/Internet Plugins/ 下的 Java 版本:

defaults read /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin/Contents/Info.plist CFBundleVersion

【讨论】:

【参考方案19】:

更新

brew tap adoptopenjdk/openjdk
brew cask install adoptopenjdk/openjdk/adoptopenjdk8

https://***.com/a/28635465

旧版本 对我来说,最简单和最干净的方法是使用 homebrew 安装 Java,如下所述:

https://***.com/a/28635465

brew update
brew cask install java

【讨论】:

【参考方案20】:

我解决了这个问题 sudo rm /usr/bin/java

我下载并安装了最后一个 Java SE 运行时环境: http://www.oracle.com/technetwork/java/javase/downloads/index.html

sudo ln -s /Library/Java/JavaVirtualMachines/jdk1.8.0_31.jdk/Contents/Home/jre/bin/java /usr/bin/java 对我不起作用,因为我得到了Operation not permitted。 El Capitan 现在以“无根”模式保护某些系统目录(又名系统完整性保护)。它适用于 macOS Sierra,在可预见的未来可能还会有新的 macOS 版本。

【讨论】:

【参考方案21】:

简单的解决方案

export PATH="/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin:$PATH"

【讨论】:

太棒了。这个解决方案让我很开心。非常感谢米克【参考方案22】:

您可以在终端中执行以下命令:

export PATH="/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin:$PATH"

这会用新的 java 替换旧的。

【讨论】:

奇怪的是它会替换,但是如果我关闭终端并再次打开,它会再次显示旧版本 确实如此。太奇怪了。非常临时的解决方案 将其添加到 .bashrc 文件中,然后 source ~/.bashrc 使其永久化【参考方案23】:

如果您的机器上有多个 Java 版本,并且您想在运行时动态选择它,即在我的情况下,我有两个版本:

ls -la /Library/Java/JavaVirtualMachines
drwxr-xr-x  3 root  wheel    96B Nov 16  2014 jdk1.7.0_71.jdk/
drwxr-xr-x  3 root  wheel    96B Mar  1  2015 jdk1.8.0_31.jdk/

您可以通过修改 /etc/profile 内容来更改它们。只需在文件末尾添加(或修改)以下两行:

export JAVA_HOME=YOUR_JAVA_PATH/Contents/Home
export PATH=$JAVA_HOME/bin:$PATH

在我的情况下,如果我想使用它应该如下所示:

Java 7:

export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.7.0_71.jdk/Contents/Home
export PATH=$JAVA_HOME/bin:$PATH

Java 8:

export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_31.jdk/Contents/Home
export PATH=$JAVA_HOME/bin:$PATH

保存文件后,请运行 source /etc/profile,它应该可以工作了。以下是我相应地使用第一个和第二个选项时的结果:

Java 7:

java -version
java version "1.7.0_71"
Java(TM) SE Runtime Environment (build 1.7.0_71-b14)

Java 8:

java -version 
java version "1.8.0_31"
Java(TM) SE Runtime Environment (build 1.8.0_31-b13)

如果您的 java 文件夹位于不同的位置,则该过程类似。

【讨论】:

【参考方案24】:

从 Oracle 站点通过分布式 JDK DMG 安装会自动更新所有内容。我已经看到(在 El Capitan 中)通过 System Preferences > Java 进行更新,但不会反映到命令行。通过 DMG 安装就可以了。

【讨论】:

【参考方案25】:

检查已安装的 JDK 版本:

$ ls  /Library/Java/JavaVirtualMachines/
jdk-11.0.2.jdk  jdk1.8.0_91.jdk

现在在您的~/.bashrc 导出JAVA_HOME 中指定版本:

if [ -e /usr/libexec/java_home ]; then
  export JAVA_HOME=$(/usr/libexec/java_home -v 11)
fi

获取 bashrc 文件,Java 版本将更新:

$ java -version
java version "11.0.2" 2019-01-15 LTS
Java(TM) SE Runtime Environment 18.9 (build 11.0.2+9-LTS)
Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.2+9-LTS, mixed mode)

【讨论】:

【参考方案26】:

如果您安装了 Homebrew,您可以安装 java-switcher 以更快地更改 Java 默认版本

brew tap andycillin/tap
brew install java-switcher

然后您可以只使用一个命令来切换您的默认 Java 版本。

java-switcher 1.7

java-switcher 10

【讨论】:

谢谢安迪,这很容易。【参考方案27】:

最新100%有效方法:

在 bash 中:

vim ~/.bash_profile

添加

export PATH="/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin:$PATH"
:wq保存 cmd+q 强制退出 bash 再次打开bash,输入java -version

但实际上这条路径指向的是 jre 而不是 jdk。

如果要指向JDK的路径,则需要

    确保您安装的 JDK 不是单个 JRE 运行时 将之前的路径替换为PATH="/Library/Java/JavaVirtualMachines/jdk1.8.0_221.jdk",您可以转到/Library/Java/JavaVirtualMachines,以确保您安装了您期望的JDK版本。

【讨论】:

以上是关于在 Mac OS X 上安装了 Java 7,但终端仍在使用版本 6的主要内容,如果未能解决你的问题,请参考以下文章

无法在 mac Os X 上使用 npm 安装 juggernaut - 版本 10.7.4

如何在 mac os x 10.7.2 Lion 上安装 PIL

在 OS X 10.9 (Mavericks) 上安装 Java

在 Mac OS X 上安装了 Python 3,但它仍然是 Python 2.7

cabal 在 Mac OS X 上安装加速 cuda 错误 [重复]

原创Mac OS X 下同时安装多个版本的JDK(JDK 1.5 ~ JDK 1.8)