java - 带有 Google App Engine 设置的 Mac OS-X Eclipse : JDK version error when launching Eclipse

标签 java eclipse macos google-app-engine java-7

在我的 Mac OS-X Mavericks 上,我安装了 Eclipse Java Enterprise Ed Helios 版本和 JRE 1.6。

我将我的 Eclipse 版本更新为 Eclipse Kepler Java 企业版 (Eclipse Kelpler v 4.3)

然后我安装了 Google App Engine 组件(基本上是从 https://developers.google.com/eclipse/docs/install-eclipse-4.3 下载并安装 Google Pugin for Kepler ...)

当我启动新的 Eclipse Kepler 时,出现以下错误(下面的屏幕截图),表明我的 JRE (v 1.6) 已过时,我需要 1.7.0+ 版本

enter image description here

所以我从http://www.oracle.com/technetwork/java/javase/downloads/index.html下载了最新的JDK v 1.8

我按照来自以下网址的分步说明安装了它:http://docs.oracle.com/javase/7/docs/webnotes/install/mac/mac-jdk.html

我通过转到 Preferences->Java->Installed JREs(并导航到包含新 JRE 的文件夹)在 Eclipse 中设置 SDK 版本

然而,当我重新启动 Eclipse 时,我仍然得到同样的错误,即(JRE 需要是 1.7.0 或更高版本)

**** 知道我缺少什么设置或我还需要设置什么吗? ****

这是我尝试过的运行日志和屏幕截图:

最新系统首选项 (java) 设置和 Eclipse java 首选项的屏幕截图:

enter image description here

enter image description here

这里是eclipse.ini的内容

-startup ../../../plugins/org.eclipse.equinox.launcher_1.3.0.v20130327-1440.jar
--launcher.library
../../../plugins/org.eclipse.equinox.launcher.cocoa.macosx_1.1.200.v20140116-2212
-product
org.eclipse.epp.package.jee.product
--launcher.defaultAction
openFile
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256m
--launcher.defaultAction
openFile
--launcher.appendVmargs
-vm /Library/Java/JavaVirtualMachines/jdk1.7.0_60.jdk/Contents/Home/jre/lib/server/libjvm.dylib
-vmargs
-Dosgi.requiredJavaVersion=1.6
-XstartOnFirstThread
-Dorg.eclipse.swt.internal.carbon.smallFonts
-XX:MaxPermSize=256m
-Xms40m
-Xmx512m
-Xdock:icon=../Resources/Eclipse.icns
-XstartOnFirstThread
-Dorg.eclipse.swt.internal.carbon.smallFonts

更新: 我编辑了我的 eclipse.ini 以确保 jvm 1.7 的 -vm 规范按照@manouti 的建议跨越两行

-vm
/Library/Java/JavaVirtualMachines/jdk1.7.0_60.jdk/Contents/Home/jre/lib/server/libjvm.dylib

现在,当我启动 eclipse 时,出现了这个不同的错误。在线查看似乎我需要向 JVM 初始化文件添加一些功能....

enter image description here

我查看了以下博客 http://burrsutter.blogspot.com/2013/12/eclipse-does-not-contain.html根据那里发布的建议,我更新了我的 JVM 7 info.plist 文件的功能部分,如下所示:

<key>JVMCapabilities</key>
      <array>
            <string>CommandLine</string>
            <string>JNI</string>
            <string>BundleApp</string>
            <string>WebStart</string>
            <string>Applet</string>
      </array>

该博客还为 eclipse.ini 中的 -vm 选项推荐了不同的值 ...

同时在启动时将 java 版本设置为 1.7,方法是将以下行添加到 ~/.bash_profile

export JAVA_HOME=`/usr/libexec/java_home -v 1.7`

仍然得到上面的能力错误“不包含 JNI_CreateJavaVM 符号”

我尝试将 eclipse.ini 中的 -vm 行更改为 burrsutter 博客中推荐的行 http://burrsutter.blogspot.com/2013/12/eclipse-does-not-contain.html即在 eclipse.ini 中将 -vm 设置为:

-vm
/Library/Java/JavaVirtualMachines/jdk1.7.0_60.jdk/Contents/Home/bin/java

有了这个,我继续得到上面显示的功能错误......

也试过

-vm
/System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Home/bin/java

...有了这个,原来的错误又回来了,即“JRE 版本是 1.6.0,需要 1.7.0 或更高版本”

最佳答案

确保在您的 CLASSPATH 和 PATH 环境变量中设置了新的 JDK。 Eclipse 可能仍在使用旧的 JDK1.6。您可以调用 java -version 来检查您机器上使用的默认版本。还要确保 Eclipse 安装目录中的 eclipse.ini 文件不会使用 JDK1.6 启动。您可以编辑 eclipse.ini 以便它使用 JDK1.8 启动:

-vm
/path/to/java1_8

关于java - 带有 Google App Engine 设置的 Mac OS-X Eclipse : JDK version error when launching Eclipse,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24213187/

相关文章:

java - Android 将 Activity 状态保存在 Parcelable 类对象中

java - ASP.NET Web API 中是否有 @JsonView 等价物

objective-c - 什么是 NSCache?

java - @EJB 返回 null

java - 如何让 Eclipse 识别另一台计算机上的项目?

php - 如何连接到Oracle数据库?

xml - Perl, "Can' t定位对象方法 "new"

java - 在 SWT 上具有透明度的 PNG 图像

java - 在 ANTLR 中解析不正确的输入时出现 OutOfMemoryError

java - SpringApplication.run 主方法