关于macos:在OS X 10.9上安装Java(Mavericks)

Installing Java on OS X 10.9 (Mavericks)

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

No Java runtime present, requesting install.

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

No Java runtime present, requesting install.

我怎么解决这个问题?


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

解决方案是手动下载并安装适用于OSX的官方Java软件包,该软件包位于 Java for OS X 2013-005 中。

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

Java for OS X 2014-001

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

Java for OS X 2014-001 includes installation improvements, and supersedes all previous versions of Java for OS X. This package installs the same version of Java 6 included in Java for OS X 2013-005.


如果您只想从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最干净的方法。

您可以在.bashrc中添加export JAVA_HOME行,使java永久保留在终端中:

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


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

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

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

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

1
2
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的安装位置:

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

然后将其添加到PATH

1
export PATH=$JAVA_HOME/bin:$PATH

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


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

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

To open"Eclipse.app" you need a Java SE 6 runtime. Would you like to
install one now?

因为我不想安装旧的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.6 *替换为1.8 *。

1
2
3
4
5
6
7
8
9
10
11
12
<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>


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

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

java version"1.8.0_11"

Java(TM) SE Runtime Environment (build 1.8.0_11-b12)

Java HotSpot(TM) 64-Bit Server VM (build 25.11-b03, mixed mode)


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:

enter image description here


此错误意味着未正确安装Java。

1
2
3
4
5
6
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)

P.S - 什么是酿酒桶? Homebrew-Cask扩展了Homebrew,解决了使用Homebrew安装应用程序后执行额外命令 -"安装,拖动此图标......"的麻烦。

N.B - 这个问题并不是针对小牛队的,你会得到几乎所有的OS X,包括EL Capitan。


来自OP:

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


没有必要安装JDK,它是开发人员工具包,只是安装运行时环境的JRE。