在OS X 10.9上安装Java(小牛)

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

目前没有Java运行时,请求安装。

然后我在我的Mac上手动安装了JDK(1.7)。 看来,安装工作正常。 安装完成后,我打开terminal并inputjava -version 。 它也显示了同样的错误:

目前没有Java运行时,请求安装。

我该如何解决这个问题?

小牛 (10.9)向我展示了“请求安装”,但没有发生任何事情。

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

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

适用于OS X的Java 2014-001

用于OS X的Java 2014-001 (纠正上面的死线)

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

如果您只想从Oracle安装最新的官方JRE,可以在那里安装,安装并在terminal中导出新的JAVA_HOME。

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

您可以在您的.bashrc添加export JAVA_HOME行,以便在您的terminal中永久使用java

 echo export JAVA_HOME=\"/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home\" >> ~/.bashrc 

Java SE下载适用于下载JDK for Java 7的地方。

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

关于IntelliJ IDEA – 这仍然会要求您安装Java 6,因为它显然需要一个较旧的类加载器或其他东西:只要按下指示,popup对话框时就会将JDK 6安装在正确的位置。

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

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

(在这里复制,因为提到“高于”可能最终没有意义,因为答案是重新sorting的)。

我也设置我的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 

另一种方法是模仿苹果超级链接的疯狂迷宫,但老实说,生活太短暂了。

我从Oracle下载并安装了JDK 1.7。 在控制台/ terminal 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 。

发生此错误是因为IntelliJ IDEA的plist文件需要Java版本1.6 *。 要解决这个问题,用1.8 *replace1.6 *。

 <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> 

OP暗示Java 7是需要的。 而Java 6实际上已经不再被“支持”了,因此,除非您有遗留的应用程序问题,否则现在应该安装的版本是7。

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

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

我从SE下载下载了最新的Java SE Development Kit 8 ,并安装了.dmg文件。 当在terminal中inputjava -version ,会显示以下内容:

java版本“1.8.0_11”

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

Java HotSpot(TM)64位服务器虚拟机(构build25.11-b03,混合模式)

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

之后打开你的terminal,并用java -version检查安装。

编辑(2015年1月) :另请参阅HT202912,关于Java for OS X 2014-001 :

在这里输入图像描述

从OP:

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

没有必要安装作为开发工具包的JDK,而只安装运行时环境的JRE 。

另一种select是使用jabba (类似于nvm / gvm / rvm / …的Java版本pipe理器)。

除了自动化的JDK安装之外,所有操作系统之间的不同版本和相同的CLI之间的无缝切换可以保证您下次升级Mac OS X时,所有的JDK仍将“在那里”。

 jabba install 1.8 # "jabba use 1.8" will be called automatically jabba ls # list all installed jdk's jabba use 1.6 # switch to a different version of jdk 

充分披露:我是该项目的维护者。

此错误表示Java未正确安装。

 1) brew cask install java (No need to install cask separately it comes with brew) 2) java -version java version "1.8.0_131" Java(TM) SE Runtime Environment (build 1.8.0_131-b11) 

PS – 什么是酿酒桶? Homebrew-Cask扩展了Homebrew,解决了使用Homebrew安装应用程序后执行额外命令 – “安装,拖动这个图标…”的麻烦。

注意 – 这个问题并不是特定于小牛,你几乎可以得到所有的OS X,包括EL Capitan。