在OS X 10.9上安装Java(Mavericks)

use*_*913 321 java macos

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

没有Java运行时,请求安装.

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

没有Java运行时,请求安装.

我怎么解决这个问题?

Guy*_*Guy 279

新的小牛队(10.9)向我展示了"请求安装",但没有任何反应.

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

更新:如下面的评论中所述,此相同的软件包有更新版本:

适用于OS X 2014-001的Java

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

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

  • 但是这个给你JDK 6.我们怎么能直接使用JDK 6? (2认同)
  • @Shawn Apple禁用已经安装的JDK 7.但你可以从这里获得一些常见问题和安装:https://www.java.com/en/download/faq/java_mac.xml但我没试过. (2认同)

ana*_*gue 194

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

  • 打开你的终端
  • java -version 给你一个错误和一个弹出窗口
  • http://www.oracle.com/technetwork/java/javase/downloads/index.html上获取JRE dmg
  • 安装它
  • 在您的终端中,键入: export JAVA_HOME="/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home"
  • java -version 现在给你 java version "1.7.0_45"

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

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

echo export JAVA_HOME=\"/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home\" >> ~/.bashrc
Run Code Online (Sandbox Code Playgroud)

  • 我认为定义`JAVA_HOME`以指出显然是浏览器插件而不是真正的虚拟机听起来有点可疑.当您安装XCode命令行工具时,您将获得一个用于获取正确路径的工具,`/ usr/libexec/java_home`.请参阅https://developer.apple.com/library/mac/documentation/Darwin/Reference/ManPages/man1/java_home.1.html. (37认同)
  • 我的一位同事(遗憾的是,这里没有必要的声誉来添加评论)想要添加JAVA_HOME设置应该是`export JAVA_HOME ="/ Library/Java/JavaVirtualMachines/jdk1.7.0_45.jdk/Contents/Home" ` (12认同)
  • 无需重启终端,请使用`source~/.bash_profile` (11认同)
  • @Ilkka - 听起来确实很糟糕,但这实际上是甲骨文JRE安装的地方.Apple的java(在java 6中停止)并不像人们想象的那样与oracle混合 (8认同)
  • 我不得不将`export JAVA_HOME ="/ Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home"添加到〜/ .profile而不是〜/ .bashrc或〜/ .bash_profile来完成这项工作. (2认同)

Mar*_*rco 64

下载JDK for Java 7的正确位置是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
Run Code Online (Sandbox Code Playgroud)

(复制在这里,因为它被提到"上面"可能最终没有意义,因为答案被重新排序).

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

export JAVA_HOME="/Library/Java/JavaVirtualMachines/jdk1.7.0_45.jdk/Contents/Home"
Run Code Online (Sandbox Code Playgroud)

然后将其添加到您的PATH:

export PATH=$JAVA_HOME/bin:$PATH
Run Code Online (Sandbox Code Playgroud)

另一种方法是用苹果疯狂的迷你超级链接来解决问题,但说实话,生活太短暂而无法理解.

  • 请参阅[我对其他答案的评论](http://stackoverflow.com/questions/19533528/installing-java-on-os-x-10-9-mavericks#comment29812677_19582689),这可能是获得该途径的更好方法. (4认同)

Mr.*_*ald 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.