用于OS X Mavericks的Eclipse Kepler请求Java SE 6


86

我刚刚对进行了全新安装OS X Mavericks,并下载了Eclipse Kepler,但是如果执行它,则会显示以下消息:

在此处输入图片说明

请我安装Runtime Java SE 6; 我已经安装了Java 7,如果Install在该对话框中按一下,下载并安装它,然后再次打开Eclipse,该对话框将再次出现。

我该如何解决?


在以前的OSX版本中,我曾遇到此错误,您必须先回滚到JDK 6,然后再回滚到7。
MLProgrammer-CiM

2
如果您安装了JRE,则应该能够从中选择该JRE Preferences -> Java -> Installed JREs,然后将JRE 7添加到已安装JRE的列表中-应该可以解决我认为的问题...如果可以的话,我想这不会有太大帮助根本不会打开Eclipse-是这样吗?
达尔文(Darwind)2013年

1
@Darwind我无法打开Eclipse ...如果我双击出现该对话框的Eclipse图标...
Piero

1
我曾经被提示输入一个我的Eclipse RCP(而不是我早先启动的另一个RCP!),但没有再次提示。
greg-449

2
它可以工作,是的安装后,我已经重启了计算机,现在可以工作了!
Piero

Answers:


207

这部分是由于Oracle缺少对JRE8 VM功能的定义。

如果您根本不想安装JRE6,而只是使用JRE8而不将其符号链接到JRE6,则可以执行以下操作:

将位于以下路径的Info.plist复制到〜/ Downloads /:

/Library/Java/JavaVirtualMachines/jdk.1.8.<…>/Contents/

然后更换

<key>JVMCapabilities</key>
 <array>
  <string>CommandLine</string>
 </array>

具有以下内容:

<key>JVMCapabilities</key>
 <array>
  <string>JNI</string>
  <string>BundledApp</string>
  <string>CommandLine</string>
 </array>

之后,将文件复制回其原始位置(您需要管理员权限)。为了使此更改生效,您需要注销帐户(然后重新登录)或重新启动计算机。Java 6的对话框不应再出现,Eclipse应该可以使用JRE8(或JRE7)正常启动。对于最初要求Java的任何其他应用程序(例如Adobe的Creative Suite)也是如此。

在相关说明中,即使通过“系统偏好设置”中的“ Java首选项面板”进行了更新,该plist更改仍然存在。

如果还是不行。您可能需要添加一些文件夹和符号链接(详细信息):

sudo mkdir -p /Library/Java/JavaVirtualMachines/jdk1.8.0_*.jdk/Contents/Home/bundle/Libraries
sudo ln -s /Library/Java/JavaVirtualMachines/jdk1.8.0_*.jdk/Contents/Home/jre/lib/server/libjvm.dylib /Library/Java/JavaVirtualMachines/jdk1.8.0_*.jdk/Contents/Home/bundle/Libraries/
sudo mkdir -p /System/Library/Java/JavaVirtualMachines/1.6.0.jdk
sudo mkdir -p /System/Library/Java/Support/Deploy.bundle

此后,我出现了一个错误“应用程序无法打开,因为它来自一个身份不明的开发人员”,以下问题具有解决方案:stackoverflow.com/questions/19551298/…–
Jonoabroad

6
我可以确认绝对不需要重新启动。我刚刚注销并再次登录。可能足以重新启动查找程序,甚至无需注销,但我没有对其进行测试。
卡罗

5
重新启动Finder为我完成了任务。
Trevor Dixon

7
最初,这给了我Eclipse错误“无法创建Java虚拟机”,但是那是因为我的/ usr / bin / java被符号链接到另一个1.7(/ Library / Internet / ...插件而不是/库/ Java ...一个)。修复该链接后,这对我来说效果很好-我希望我能给出两个赞!
sage 2013年

2
解释在apple.stackexchange.com/questions/136975/…中:“发生错误是因为JVM无法启动-Java应用程序本身已被硬编码以加载libserver.dylib。此文件存在于Java 1.6及更早版本中,但不是。为Java 1.7及以上的解决方案是手动符号链接库(在内容/首页/ JRE / lib目录/服务器/ libjvm.dylib找到)进入它预计一个丑陋的黑客攻击,但它解决了我的问题。
阿尔伯特Godfrind

7

为了能够使用Java 7(Oracle)运行Eclipse,我使用以下文件启动Eclipse:eclipse / Eclipse.app / Contents / MacOS / eclipse。默认情况下,“ eclipse”文件夹包含此文件的别名。因此,您要做的就是双击名为“ eclipse”的别名。

Oracle还警告说,Apple已在OS X上禁用了Oracle的Java 7u25版及更低版本(请参见此处)。在找到使用Java 7启动Eclipse的方式之前,我已经升级到最新的JDK版本。因此我不知道是否需要升级。




1

我碰巧在没有上述建议的程序的情况下运行它。我删除了eclipse文件夹,然后将其从垃圾桶复制回去。请验证它是否适合您。


1

在MAC OS X上,使用.dmg下载从Oracle安装JRE 7之后,在打开Eclipse时,它仍然指向我的旧JRE 6。

在无数的Google搜索问题之后,无奈之下,我在Eclipse中单击“搜索”->“首选项”->已安装的JRE,瞧瞧-它选择了JRE 7。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.