我安装了Java 7,但Eclipse仍然提示1.6不适用于该产品。

15

我正在使用Mac OS X 10.9.4操作系统上最新版本的Eclipse Luna。每次尝试打开Eclipse时,都会显示“版本1.6.0_65的JVM不适用于此产品,需要版本1.7或更高版本”。我安装了Java 7(JRE,不需要JDK),但仍然出现相同的错误。我尝试运行java -version命令,输出为“java版本1.6.0_65”。我可以在系统偏好设置中看到Java图标。我也重新启动了我的Mac,但这也没有帮助。我在谷歌上搜索并发现有些人建议其他用户更改Eclipse.ini文件,说明不是很清楚,而我作为一个Java初学者,不知道在哪里进行编辑。欢迎提供详细的步骤说明。

12个回答

32

我在OSX上进行全新安装Eclipse Mars时遇到了相同的问题。我从https://java.com/en/download/下载和安装了JRE (对我来说,这是"java download" 的顶部谷歌搜索结果)。

然而,我仍然无法使用并出现了相同的错误消息:"版本为1.6.0_65的JVM不适用于此产品,需要版本1.7或更高版本"

随后,我看到一个评论建议从Oracle获取JRE/JDK:

http://www.oracle.com/technetwork/java/javase/downloads/index.html

从Oracle下载最新的JDK后,Eclipse可以正常启动。


3
安装了来自Oracle的JDK后,我的默认Java版本(java -version)变成了1.8.0_60-b27。当我只安装了来自Java网站(通过苹果提供的链接)的Java时,它显示为1.6.0_65。而且,当我只安装https://java.com/en/download/版本时,在/Library/Java/JavaVirtualMachines下没有任何文件。 - Liwen
4
这应该是被接受的答案,因为它不会强制你删除之前的版本。 - user1366265
1
确认在Mac OSX上安装JDK/JRE更新也对我起作用了。谢谢! - chainwork
这应该是正确的答案。我在全新安装时遇到了这个问题。只需从Oracle获取JDK即可。谢谢! - Ross

9
你的问题的潜在解决方案可能是卸载由苹果提供的Java6,并仅安装Java7。这仅适用于您没有急需旧版Java6版本的应用程序的情况。
要移除苹果式的Java6安装,请打开终端并输入以下内容:
sudo rm -rf /System/Library/Java/JavaVirtualMachines/1.6.0.jdk
执行完上述步骤后,您的系统中应只有由Oracle提供的Java7。为验证,请打开另一个终端并执行以下命令:
java -version
它应该显示类似于“java version "1.7.0_XX"”的内容,其中XX是Java7安装的当前更新版本。如果没有,请进行下一步操作。
重新定义JAVA_HOME变量(以支持Eclipse等IDE和其他开发人员工具...),以便帮助检测“活动”Java安装在您的系统中的位置。打开终端并键入以下命令(请注意:先替换XX!):
sudo rm /Library/Java/Home sudo ln -s /Library/Java/JavaVirtualMachines/jdk1.7.0_XX.jdk/Contents/Home /Library/Java/Home 然后,重新安装Eclipse应检测到您系统中的Java7,并应立即使用此版本。您可以通过在Eclipse中导航到以下路径来修改已安装的Eclipse以使用此安装:
Preferences -> Java -> Installed JREs。然后删除旧的Java6系统条目,并使用名称Java7添加新路径(请参见上文)。

2
好的,我已卸载Java 1.6,现在运行java -version命令时,它会显示“没有Java运行时,请求安装”,然后打开一个弹出窗口并带我到Oracle网站。但是我安装了Java 7更新65,并且可以在我的系统偏好设置中访问控制面板。我安装了Java 7更新65 JRE,我需要JDK吗? - Anishka Jitendrabhai Vaghani
我刚刚编辑了我的答案。请刷新 :) 你需要设置符号链接,也就是JAVA_HOME(在你的情况下,这似乎不是额外的步骤)。无论如何,下载和安装JDK对Java开发都很有用。我建议你使用JDK 1.7.0-65,好吧! - MWiesner
使用JDK 1.8也是一种有效的方法 :) - 只需替换版本字符串 - 应该也可以像上面描述的那样工作。 - MWiesner
请注意,在使用64位JDK安装时,在MacOS上使用64位版本的Eclipse(http://www.eclipse.org/downloads/?osType=macosx)。 - MWiesner
是的,我已经有了64位版本的Eclipse。所以我安装了JAVA JDK并且它可以在没有Java 6(Apple版本)的情况下运行。现在我真的很高兴,终于可以开始编码了!谢谢 :) - Anishka Jitendrabhai Vaghani
如果按照这个答案进行操作,需要处理系统完整性保护(SIP)。安装JDK不会出现问题。 - Oleksiy Ivanov

1

请确保您已安装JDK 7或更高版本。如果您使用的是Mac电脑,您很可能只有1.6.0.jdk版本。要检查您的Java开发工具包(JDK)版本,请转到终端并浏览到:

/Library/Java/JavaVirtualMachines

接下来,如果你看到的是1.6.0.jdk,那么你没有安装最新版本的jdk。请前往http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html下载并安装最新的jdk。然后使用浏览器转到上述相同的文件路径,确保最新版本的jdk已经在其中(即jdk1.8.0_141.jdk)。


1
你可以在Eclipse.app中修改Info.plist文件(右键单击Eclipse.app -> 显示包内容),并在<key>Eclipse</key>后指定-vm。
例如:
<key>Eclipse</key>
    <array>
        <string>-vm</string><string>/Library/Java/JavaVirtualMachines/jdk1.8.0_20.jdk/Contents/Home/jre/bin/java</string>
        <string>-keyring</string><string>~/.eclipse_keyring</string>
        <string>-showlocation</string>
    </array>

我下载了Java 'jdk-8u51-macosx-x64',然后不得不编辑这个文件。这是在OS X Yosemite 10.10.4上。 - lukik

0

好的,我在Eclipse Neon和Oxygen上遇到了问题几天。我进行了以下步骤-

  1. 从终端检查java -version。它显示版本为1.7
  2. 进入系统偏好设置 -> Java -> 更新Java版本。下载并更新了版本1.8。
  3. 再次转到终端以确认,这一次它显示版本为1.8。

但它仍然没有起作用!!我错过了什么?

请记住以下内容--默认情况下,当您输入以下命令时,它会显示JRE版本。

java -version

您需要JDK才能启动Eclipse安装程序。请前往Java下载页面

并下载最新的JDK版本,然后您就可以开始了。

不要尝试删除/System/Library/中的Java - 首先这是不允许的(您需要以root用户身份登录),其次您不知道此Java版本对其他应用程序的依赖关系。希望这可以帮到您!


0

据我所知,我们不需要卸载现有的Java 1.6。只需安装或部署更新版本的1.7或1.8,并设置JAVA_HOME,以及以下给出的活动,就可以解决问题。

检查您的c:/Windows/System32(因为我在Windows上遇到了这个问题)。您会发现垃圾Java进程(java.exe、javaws.exe等)。将它们全部删除。

仅删除java.exe将反映在您的PATH中,但eclipse仍然从c:/windows/system32中选择javaws。这是因为通常在PATH中,您将C:/Windows/System32作为第一个条目。因此,这将覆盖路径中的任何JAVA_HOME条目。

尝试启动eclipse。它应该像魔术一样工作!至少对我来说是这样。



0

在/Library/Java/JavaVirtualMachines/目录下没有任何内容。 - Anishka Jitendrabhai Vaghani

-1

2
avoid link only answers - VenomVendor

-1

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