我在Mac OS X v10.8 (Mountain Lion)上安装了JDK。当我将其升级到Mac OS X v10.9 (Mavericks)并在终端中运行java -version时,它显示:
没有Java运行时,请求安装。
然后我手动在我的Mac上安装了JDK(1.7)。看起来安装工作正常。安装完成后,我打开终端并输入java -version。它还显示了同样的错误:
没有Java运行时,请求安装。
我该如何解决这个问题呢?
我在Mac OS X v10.8 (Mountain Lion)上安装了JDK。当我将其升级到Mac OS X v10.9 (Mavericks)并在终端中运行java -version时,它显示:
没有Java运行时,请求安装。
然后我手动在我的Mac上安装了JDK(1.7)。看起来安装工作正常。安装完成后,我打开终端并输入java -version。它还显示了同样的错误:
没有Java运行时,请求安装。
我该如何解决这个问题呢?
当前回答
OP意味着Java 7是需要的。Java 6实际上已经不再被“支持”了,所以你现在应该安装7版本,除非你有遗留的应用程序问题。
你可以在这里买到: http://java.com/en/download/mac_download.jsp?locale=en
其他回答
我手动下载到这里:Java for OS X 2014-001。
然后打开终端,用java -version检查安装。
编辑(2015年1月):也见HT202912,关于Java for OS X 2014-001:
下载Java 7 JDK的正确位置是Java SE Downloads。
据我所知,上面提供的所有其他链接都提供了JRE或Java 6下载(顺便说一下,如果您想运行Eclipse或其他ide,如IntelliJ IDEA,您将需要JDK,而不是JRE)。
关于IntelliJ IDEA,它仍然会要求你安装Java 6,因为它显然需要一个较旧的类加载器或其他东西:当弹出对话框出现时,只需按照说明安装JDK 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
另一种选择是在苹果疯狂的超链接迷宫中闲逛,但说实话,生命太短暂了。
来自OP:
我最终从OS X 2013-005的Java中重新安装了它。它解决了这个问题。
新的Mavericks(10.9)向我显示了“请求安装”,但什么都没有发生。
解决方案是手动下载并安装OS X的官方Java包,这是Java for OS X 2013-005。
更新:正如下面评论中提到的,这个包有一个更新的版本:
Java for OS X 2014-001
Java for OS X 2014-001(更正上面的死线)
Java for OS X 2014-001包括安装改进,并取代所有以前版本的Java for OS X。此包安装Java for OS X 2013-005中包含的相同版本的Java 6。
我从Oracle下载并安装了JDK 1.7。在控制台/在终端Java 7工作正常。
当我通过GUI启动Java程序(如Eclipse)时,我得到:
打开“Eclipse。”你需要一个Java SE 6运行时。你要不要 现在就安装一个?
因为我不想安装旧的Java版本,所以我使用了以下解决方案:
sudo ln -nsf /Library/Java/JavaVirtualMachines/jdk1.7.0_45。jdk /内容/系统/图书馆/框架/ JavaVM.framework /版本/ CurrentJDK
归功于monkehWorks。