321

我已经在Mac OS X v10.8 (Mountain Lion)上安装了JDK 。当我将它升级到Mac OS X v10.9 (Mavericks) 并在终端中运行时,它显示:java -version

不存在 Java 运行时,请求安装。

然后我在我的 Mac 上手动安装了 JDK(1.7)。似乎安装工作正常。安装完成后,我打开终端并输入java -version。它也显示了同样的错误:

不存在 Java 运行时,请求安装。

我怎么解决这个问题?

4

11 回答 11

278

新的Mavericks (10.9) 向我展示了“请求安装”,但什么也没发生。

解决方案是手动下载并安装适用于 OS X 的官方 Java 包,该包位于适用于 OS X 2013-005 的 Java.

更新:正如下面的评论中提到的,这个包有一个更新的版本:

适用于 OS X 2014-001 的 Java

适用于 OS X 2014-001 的 Java(更正上面的截止日期)

Java for OS X 2014-001 包括安装改进,并取代了所有以前的 Java for OS X 版本。此软件包安装 Java for OS X 2013-005 中包含的相同版本的 Java 6。

于 2013-10-23T07:18:03.140 回答
197

如果你只想从 Oracle 安装最新的官方 JRE,你可以到那里,安装它,然后在终端中导出新的 JAVA_HOME。

这是我发现安装最新 JRE 的最干净的方法。

您可以在您的终端中添加该export JAVA_HOME.bashrcjava永久保存:

echo export JAVA_HOME=\"/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home\" >> ~/.bashrc
于 2013-10-25T06:34:07.257 回答
64

下载 Java 7 的 JDK 的正确位置是Java SE 下载

据我所知,上面提供的所有其他链接都提供 JRE 或 Java 6 下载(顺便说一下,如果您想运行Eclipse或其他 IDE,如IntelliJ IDEA,您将需要 JDK,而不是JRE)。

关于 IntelliJ IDEA——它仍然会要求您安装 Java 6,因为它显然需要一个较旧的类加载器或其他东西:只需在弹出对话框时按照说明操作,它将在正确的位置安装 JDK 6。

之后,您将需要执行sudo ln -snf上述答案中提到的操作:

sudo ln -nsf /Library/Java/JavaVirtualMachines/jdk1.7.0_45.jdk/Contents \
    /System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK

(在这里复制,因为有人提到“以上”最终可能没有意义,因为答案被重新排序)。

我还设置JAVA_HOME了指向jdk_1.7.0_xx.jdk安装位置:

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

然后将其添加到您的PATH

export PATH=$JAVA_HOME/bin:$PATH

另一种选择是在 Apple 疯狂的超链接迷宫中摸索,但老实说,生命太短暂,无法打扰。

于 2013-11-01T23:53:25.333 回答
14

我从Oracle下载并安装了 JDK 1.7 。在控制台/终端Java 7 中工作正常。

当我通过 GUI 启动 Java 程序(如Eclipse)时,我得到:

要打开“Eclipse.app”,您需要 Java SE 6 运行时。您现在要安装一个吗?

因为我不想安装旧的 Java 版本,所以我使用了以下解决方法:

sudo ln -nsf /Library/Java/JavaVirtualMachines/jdk1.7.0_45.jdk/Contents /System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK

归功于monkehWorks 。

于 2013-11-01T14:55:07.640 回答
4

出现此错误是因为 IntelliJ IDEA 的 plist 文件需要 Java 版本 1.6*。要解决此问题,请将 1.6* 替换为 1.8*。

<key>JVMOptions</key>
<dict>
    <key>ClassPath</key>
      ...

    <key>JVMVersion</key>
    <string>1.8*</string>

    <key>MainClass</key>
    <string>com.intellij.idea.Main</string>
    <key>Properties</key>
<dict>
于 2014-07-26T07:48:58.687 回答
3

我手动下载到这里:Java for OS X 2014-001

之后打开您的终端并使用java -version.

编辑(2015 年 1 月):另见HT202912,关于 OS X 2014-001 的 Java

在此处输入图像描述

于 2013-10-24T02:46:43.550 回答
3

我在 OS X 10.9 上更新 Java SDK 的经验要容易得多。

Java SE Development Kit 8我从SE 下载下载了最新的,并安装了 .dmg 文件。并且java -version在终端中输入时显示以下内容:

java版本“1.8.0_11”

Java(TM) SE 运行时环境 (build 1.8.0_11-b12)

Java HotSpot(TM) 64 位服务器 VM(内部版本 25.11-b03,混合模式)

于 2014-08-11T13:58:52.633 回答
3

OP 暗示需要 Java 7。Java 6 实际上不再被“支持”,所以 7 是您此时应该安装的版本,除非您有遗留应用程序的问题。

你可以在这里得到它:http: //java.com/en/download/mac_download.jsp ?locale=en

于 2013-10-25T00:29:08.437 回答
1

从OP:

我终于从 Java for OS X 2013-005 重新安装了它。它解决了这个问题。

于 2014-01-02T08:13:05.893 回答
1
于 2017-06-18T14:08:12.950 回答
0

不需要安装JDK,即开发工具包,只需要安装JRE,即运行环境

于 2013-10-23T17:26:51.213 回答