我已经在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运行时,要求安装。
我怎么解决这个问题?
Answers:
新的Mavericks(10.9)向我显示了“请求安装”,但是什么也没有发生。
解决方案是手动下载并安装OS X的官方Java软件包,该软件包位于 适用于OS X 2013-005的Java。
更新:如以下评论中所述,该软件包有较新的版本:
Java for OS X 2014-001(更正了上面的截止日期)
Java for OS X 2014-001包括安装改进,并取代了Java for OS X的所有先前版本。此软件包安装了OS X 2013-005的Java中包含的Java 6的相同版本。
如果您只想从Oracle安装最新的官方JRE,则可以在此安装,安装并在终端中导出新的JAVA_HOME。
java -version
给你一个错误和一个弹出窗口export JAVA_HOME="/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home"
java -version
现在给你 java version "1.7.0_45"
这是我发现安装最新JRE的最干净的方法。
您可以在终端中添加该export JAVA_HOME
行以.bashrc
使其java
永久存在:
echo export JAVA_HOME=\"/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home\" >> ~/.bashrc
JAVA_HOME
指向明显是浏览器插件而不是真正的VM的听起来有点可疑。安装XCode命令行工具时,您将获得一个用于获取正确路径的工具/usr/libexec/java_home
。请参阅developer.apple.com/library/mac/documentation/Darwin/Reference/…。
export JAVA_HOME="/Library/Java/JavaVirtualMachines/jdk1.7.0_45.jdk/Contents/Home"
export JAVA_HOME="/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home"
~~ .profile而不是〜/ .bashrc或〜/ .bash_profile才能完成此工作。
下载Java SE的JDK的正确位置是Java SE Downloads。
所有其他链接上面提供的,据我所知,无论是提供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
另一种选择是在苹果的疯狂迷宫般的超链接中摸索,但说实话,生活太短了,无法打扰。
sudo ln -snf
以上答案中所说的内容不再准确。这实际上是指通过回答罗纳德先生
this
和that
有些混淆),但是您仍然需要从/ Sytem / Library / etc位置到Oracle安装JVM的实际位置(/ Library / etc)的符号链接。 ),否则应用程序将找不到Java运行时。
sudo ln -snf
以上答案中提到的内容;”。答案根据获得的投票数而向上或向下移动。我的意图是仅直接提供具有sudo ln -snf
命令的答案。
我从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。
ln -snf
因为我Operation not permitted
与ln -sf
发生此错误的原因是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>
OP暗示需要Java 7。Java 6实际上不再受支持,因此,除非您有遗留应用程序顾虑,否则您现在应该安装7版本。
您可以在这里获得它:http : //java.com/en/download/mac_download.jsp?locale=en
我在OS X 10.9上更新Java SDK的经验要容易得多。
我Java SE Development Kit 8
从SE下载中心下载了最新版本,并安装了.dmg文件。当输入java -version
终端时,将显示以下内容:
Java版本“ 1.8.0_11”
Java(TM)SE运行时环境(内部版本1.8.0_11-b12)
Java HotSpot(TM)64位服务器VM(内部版本25.11-b03,混合模式)
我手动下载到这里:Java for OS X 2014-001。
之后,打开您的终端并使用进行安装检查java -version
。
编辑(2015年1月):另请参阅HT202912,关于Java for OS X 2014-001:
此错误表示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安装应用程序后执行额外命令的麻烦- “要安装,拖动此图标...”。
注意:此问题并非特定于Mavericks,您将获得几乎所有的OS X,包括EL Capitan。