在安装了Mac OS X Yosemite(Mac OS 10.10)之后,Eclipse无法启动。

41
升级到 Mac OS Yosemite (10.10) 后,我的 Eclipse 就无法启动了。取而代之的是以下错误提示:

The JVM shared library /Library/Java/JavaVirtualMachines/jdk1.8.0_05.jdk/Contents/Home/bin/../jre/lib/server/libjvm.dylib" does not contain the JNI_CreateJavaVM symbol.

我检查了 java -version 的输出:
java version "1.8.0_05"
Java(TM) SE Runtime Environment (build 1.8.0_05-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.5-b02, mixed mode)

我搜索并找到了一个类似的问题在OSX上重新安装Java 7 JDK。它建议重新安装Java。我不确定我的问题是否属于同一类别。那么,重新安装是解决问题的好方法吗?还有其他建议吗?谢谢!


你能运行其他的Java程序吗? - MadProgrammer
3
@greg-449 是的,你说得对。我可能是第一个提出这个问题的人 :) 但也许这里的讨论可以在以后帮助别人吧? - leonard
@craftsman 没错!我试图安装JDK 7,但它告诉我JDK 7不支持早于10.7的OSX!我认为Yosemite太新了,仍然存在缺陷? - leonard
1
我刚刚下载了最新版本的Eclipse Kepler,它完美地运行了。我不知道为什么之前的版本不能工作,但现在我已经不关心了。 - craftsman
@craftsman 很棒!谢谢你的信息。我会尝试同样的方法,看看是否适用于我。 - leonard
显示剩余6条评论
8个回答

58

15
这个软件包会安装与Java for OS X 2013-005中相同的Java 6版本。但我不想降级我的Java版本来运行Eclipse。应该有更好的解决方法。 - craftsman
我的之前的Java 1.6.0_51在Java OSX 2013-05中包含,导致所有Java应用程序崩溃。升级到JavaForOSX2014-001中的Java 1.6.0_65后,一切都正常工作了。 - Cristian Florescu

25

如果您认为这是正确的答案,您应该将此答案标记为正确答案。 - frbry
1
这应该是正确的答案。另外,请参考Oracle官方人员的这篇文章:https://community.oracle.com/thread/3595264 - Paul Rigor
2
请明确一点,您需要从此页面安装JDK而不仅仅是JRE。您还需要一个当前的64位(必须是64位)的Eclipse副本(juno),它将在1.7+位置下查找JDK /Library/Java/JavaVirtualMachines/,而不是之前的1.6位置/System/Library/Java/JavaVirtualMachines/。 - ClearCrescendo

16
您可以在位于“System > Library > CoreServices”的“SystemVersion.plist”中暂时更改系统版本。
以根用户身份编辑,将ProductVersion更改为10.7.3(或任何适合您的版本)。
安装Java。
别忘了改回来。

2
这是最好的答案。 - elasticrat
我把我的版本改成了10.7.3 - 打开Android Studio时仍然收到相同的消息。 - iamanyone

3
我使用Java8(版本1.8.0_60-ea)创建了这些空文件夹,以root身份创建,而不需要降级来解决此问题:

/System/Library/Java/JavaVirtualMachines/1.6.0.jdk 和 /System/Library/Java/Support/Deploy.bundle

希望能对您有所帮助...


1
我从Oracle安装了Java JRE: http://download.oracle.com/otn-pub/java/jdk/8u25-b17/jre-8u25-macosx-x64.dmg 然后安装了苹果软件包: http://support.apple.com/kb/DL1572?viewlocale=en_US&locale=en_US 我能够通过homebrew cask安装eclipse-ide

brew cask install eclipse-ide eclipse-java

(请注意,brew cask会安装到~/Applications而不是/Applications)
我通常不使用Eclipse,但我成功地运行了IDE。需要注意的是,在Yosimite中,命令行上的java已经出现问题。
请告诉我如果那个方法不起作用。或者如果你需要一些有关HomebrewCask的帮助。

0

两种情况:

  1. 如果您已经在Mavericks上安装了Java 8和Eclipse Luna,并且(打算)升级到Yosemite:只需更新,它将正常工作。

  2. 如果您没有安装Java并想在Yosemite上运行Eclipse:

这意味着,如果您想使用Eclipse Luna和Java 8,请在运行Mavericks时安装它,然后升级到Yosemite。不要尝试在Yosemite上安装Java 8,因为目前无法正常工作。

我的Mac上无法工作的是:安装Java 6并运行Eclipse Luna,因为它需要Java 7或8。安装Java 7或8并不能解决问题,因为安装程序似乎有些错误。然而,这个问题应该会在几天内被Oracle解决。

4
我在更新到Yosemite之前安装了Luna和Maverick,但并不是完美无缺的。 - a113nw
没错!那他为什么还要发问呢?我也卡在同样的问题上了! - Saurabh Patil

0

升级到Yosemite后,Java 6 JDK不再可用。请记住,Mac OSX的JDK 6是一个32位应用程序,旧版Eclipse需要32位JVM才能正常运行。32位应用程序无法与64位JVM(如Java 7或8)一起运行,因此您需要安装JDK 6来运行那些需要32位虚拟机的Java应用程序。如已在此发布,您可以从http://support.apple.com/kb/DL1572?viewlocale=en_US&locale=en_US下载JDK 6。


0

请确保您正在使用 Mac Eclipse 的 64 位版本,我刚试过了,它完美无缺。


只要您已经安装了1.7+的JDK,就可以使用。旧版本的Eclipse将无法找到JDK的新1.7位置,这就是为什么在1.7发布时,一些在线评论建议降级到1.6以使旧版本的Eclipse正常工作。 - ClearCrescendo

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接