OS X中的Eclipse使用不同于CLI的Java版本

Jam*_*ton 15 java eclipse macos

当我输入java -version控制台时,我得到了java version "1.8.0_05".软链接/System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK指向/Library/Java/JavaVirtualMachines/jdk1.8.0_05.jdk/Contents.在java首选项窗口中,唯一列出的Java版本是1.8.JAVA_HOME设置为/Library/Java/JavaVirtualMachines/jdk1.8.0_05.jdk/Contents/Home.

但是,当我尝试运行Eclipse.app时,我收到错误: Version 1.6.0_65 of the JVM is not suitable for this product. Version: 1.7 or greater required.

我相信它正在尝试使用/System/Library/Java/JavaVirtualMachines并且在该目录中唯一的版本是1.6.0.jdk.

如何让eclipse使用正确版本的Java?

小智 9

我用优胜美地在我的mac中解决了这个问题:

  1. https://jdk8.java.net/download.html安装了MACOSX 64位JDK
  2. 在eclipse.ini里面我把这行:

    -vm /Library/Java/JavaVirtualMachines/jdk1.8.0_40.jdk/Contents/Home

它对我有用!


Tho*_*sen 8

下载64位版本的Eclipse而不是32位版本.

原因是Eclipse包含本机机器代码(用于GUI),这就是为什么同时存在32位和64位版本的Eclipse,这显然需要相应的Java版本.最初Apple创建了两个版本,直到Java 6,但Oracle只创建了一个64位版本(令旧版机器的所有者感到沮丧).所以,如果你下载一个32位版本的Eclipse,它只会运行Apple JVM,这显然太旧了(这让我感到惊讶 - 我认为Java 4仍然支持Eclipse 4.4)