MacOSX Snow Leopard和Eclipse:启动Eclipse时出错(没有Java虚拟机...)

6

这真的很令人沮丧。

我没有更新Java或Eclipse,但突然间我无法打开Eclipse。我甚至没有安装任何其他程序。下面是错误信息:

error

我已经尝试了一切。 我升级到了新的Java版本,但没有成功: java versions

我下载了最新的Eclipse,但也没有成功。

然后我更新了Eclipse的Info.plist文件:

添加: <string>-vm</string><string>/System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Commands/java</string>

Info.plist

从终端:

terminal

我还能做什么?

编辑:

路径变量:

PATH

编辑2:奇怪的行为。如果我右键单击eclipse.app并浏览:Contents/MacOS/eclipse并双击它,那么一个终端会打开并启动eclipse:eclipseFromTermina

为什么会这样。我想直接从eclipse.app运行Eclipse,而不是通过Contents/.....

编辑3:

我看到有人和我遇到了完全相同的问题,但我还没有找到解决方案:http://www.eclipse.org/forums/index.php/t/107226/


这是我的电脑上的Java:http://img10.imageshack.us/img10/4643/screenshot20110711at328.png - vale4674
请展示您的$PATH变量。 - Marek Sebera
我编辑了问题,并附上了路径变量的照片。 - vale4674
哦!你真幸运!你正在运行OSX操作系统!! - Martijn Courteaux
嗨Vale,我有两个问题要问你,你是在尝试安装Eclipse Helios吗?用于什么样的开发,Blackberry还是Android? - Jorgesys
显示剩余3条评论
7个回答

14

好的,经过几天的努力,在这个帖子和Eclipse论坛 THREAD上没有找到答案,我为这个问题提供了悬赏,并没有得到正确的答案。

我在这里找到了解决方案。

答案:

您需要编辑Eclipse.app/Contents/Info.plist文件并在其中添加两行:

enter image description here

没有说明这些行必须放在Eclipse数组中,只需作为键字符串的某个位置即可。

如果您没有Xcode,请使用TextEdit编辑该文件:

    <key>Eclipse</key>
<array>
    <string>-vm</string>
    <string>/System/Library/Frameworks/JavaVM.framework/Home/bin/java</string>
    <string>-keyring</string>
    <string>~/.eclipse_keyring</string>
    <string>-showlocation</string>
</array>

1
这个可以用。在eclipse.ini中设置vm选项似乎会被覆盖。非常感谢! - SpeedySan

3

尝试移动您的工作区并删除配置文件 (rm -rf ~/.eclipse)。有时 Eclipse 会出现环境问题,需要重置。


我在-rf ~/中没有.eclipse文件。 - vale4674
我在哪里可以找到.eclipse文件,因为它不在我的./文件夹中? - vale4674
如果你的 .eclipse 文件夹不在 ~ 目录下,那么它可能在 Eclipse 文件夹本身中的 eclipse/.eclipseproduct 中。 - Michael Shopsin
我应该删除那个文件吗? --> .eclipseproduct?那个文件只有三行,它们看起来不像是一些配置行:LINE 1:name = Eclipse平台 LINE 2:id = org.eclipse.platform LINE 3:version = 3.7.0 - vale4674

2
编辑 plist 文件不是设置 JVM 的推荐方式。请参见 http://wiki.eclipse.org/FAQ_How_do_I_run_Eclipse%3F#Find_the_JVM,它会指向 http://wiki.eclipse.org/Eclipse.ini#Specifying_the_JVM
基本上,在 Eclipse.app/MacOS/eclipse.ini 中,您将希望指定默认情况下传递给 Eclipse 的命令行参数。当然,plist 的参数数组也被使用,但这不是 Eclipse 文档本身推荐设置参数的方式(并且可能会在您再次更新 Eclipse 时被清除)。
您需要从 plist 中的该数组中删除 vm 条目,并在“-vmargs”之前的 eclipse.ini 中添加以下内容:
-vm
/System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Home/bin/java

1

尝试将此添加到您的~/.profile文件中

export JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Home/
export PATH=$JAVA_HOME/bin:$PATH

做了。我需要创建.profile文件。用nano编辑它。现在我的PATH变量看起来像这样:http://img577.imageshack.us/img577/8483/screenshot20110711at358.png 但是启动eclipse时仍然出现相同的错误。 - vale4674
我已经将JDK包含在PATH变量中,但是仍然出现相同的错误。我已经没有更多的想法了。 - vale4674

1

您需要创建一个文件~/.MacOSX/environment.plist,并在其中添加JAVA_HOME => /Library/Java/Home条目。 如果您已安装XCode,请使用它来添加条目。 否则,请使用纯文本编辑器:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>JAVA_HOME</key>
    <string>/Library/Java/Home</string>
</dict>
</plist>

之后,请重新启动MaxOS或注销/登录。

有关详细信息,请参见http://developer.apple.com/library/mac/#documentation/MacOSX/Conceptual/BPRuntimeConfig/Articles/EnvironmentVars.html

祝好, Max


我几天前已经做过了,但那不是解决方案。刚刚我找到了一个解决方案并回答了我的问题。干杯。 - vale4674
你清理了你所做的Eclipse Info.plist更改吗? - Max
我不明白。我在我的回答中放了一张我的 Info.plist 的图片。 - vale4674
1
我的意思是,为了测试enviroment.plist解决方案,您必须清理对Info.plist所做的任何更改。 - Max

0

我遇到了同样的问题,但是一个简单的

chmod +x Contents/MacOS/eclipse

在包的内容中,这个技巧起了作用。


1
看起来比我用编辑info.plist的解决方案更好。但现在它能工作了,我就不会再碰任何东西了。 - vale4674

0

我通过以下两步骤解决了这个问题:

*1. 正确设置JAVA_HOME:*

找到Java JDK的位置:

/usr/libexec/java_home

如果需要,创建~/.bash_profile文件:
touch ~/.bash_profile

使用TextEdit编辑.bash_profile文件,并添加以下行(根据需要更改路径):

export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents/Home/ export PATH=$JAVA_HOME/bin:$PATH

2. 设置别名可执行:

从eclipse安装位置运行:

chmod +x ./eclipse

现在要启动Eclipse,我打开Finder,导航到Eclipse安装目录,然后双击别名文件(名为eclipse,但没有Eclipse图标)。


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