如何使用Oracle针对Mac的1.7新JDK运行Eclipse?

我正试图让新的1.7 JDK与Eclipse一起工作(这是Oracle的正式版本)。

我并不是说只要把Eclipse指向它,这样你就可以在项目中使用它,这工作正常,但实际上使Eclipse运行使用1.7 JVM。

我已经将新的JVM移动到Java首选项的顶部,但Eclipse仍然以1.6开头。 如果我在Java首选项中禁用了1.6,那么在Eclipse上双击“无法创buildJava虚拟机”后,会立即得到一个对话框。

编辑:我添加了以下内容到我的eclipse.ini之前-vmargs:

-vm /Library/Java/JavaVirtualMachines/1.7.0.jdk/Contents/Home/bin/java 

然而在Eclipse安装细节对话框中,我仍然看到:

 java.runtime.version=1.6.0_31-b04-415-11M3646 

编辑2 :这里是我的eclipse.ini文件的内容: https : //gist.github.com/2512578

我刚刚添加了我的评论到https://bugs.eclipse.org/bugs/show_bug.cgi?id=339788关于无法在OS X上使用新的Oracle JDK与Eclipse。在eclipse.ini中使用-vm选项不行。 我发现解决这个问题的唯一方法是使用下面的shell脚本:

 #!/bin/sh # export JAVA_HOME=/Library/Java/JavaVirtualMachines/1.7.0.jdk/Contents/Home LAUNCHER_JAR=/Applications/eclipse/plugins/org.eclipse.equinox.launcher_1.2.0.v20110502.jar java \ -showversion \ -XX:MaxPermSize=256m \ -Xms1024m \ -Xmx1024m \ -Xdock:icon=/Applications/eclipse/Eclipse.app/Contents/Resources/Eclipse.icns \ -XstartOnFirstThread \ -Dorg.eclipse.swt.internal.carbon.smallFonts \ -Dosgi.requiredJavaVersion=1.5 \ -jar $LAUNCHER_JAR 

使用http://mathiasbynens.be/notes/shell-script-mac-apps上的步骤,我将上面的脚本转换成了一个可以保存在我的Dock上的应用程序。;

还有另一种方法。 请在.ini文件的-vmargs之前添加以下两行:

 -vm {YOUR_JAVA_7_HOME}/jre/lib/server/libjvm.dylib 

(记住这些需要单独行),并在“Info.plist”文件中添加相应的条目(在“Eclipse”键下添加或修改数组项) – 每个string子元素对应一个命令行参数。

 ... <key>Eclipse</key> <array> <string>-vm</string> <string>/{MY_VM_HOME}/jre/lib/server/libjvm.dylib</string> ... </array> 

或者,从terminal运行eclipse时,只需使用-vm {YOUR_JAVA_7_HOME}/lib/server/libjvm.dylib命令行参数。

显然,开普勒有一个修补程序,应该在下一个服务版本中出现。

同时,在这个bug中提到了一个解决方法,它允许你在没有从Apple安装JRE 1.6的情况下运行eclipse: https : //bugs.eclipse.org/bugs/show_bug.cgi?id=411361#c20

这将允许你从发现者或聚光灯启动eclipse,但不是docker。

我刚刚在OS X Mavericks上进行了testing,在更新过程中失败了6,并要求在您尝试启动Eclipse时安装它。 我当然安装了最新的Oracle JDK 1.7。

拒绝这样做,然后解决这个问题,编辑/Library/Java/JavaVirtualMachines/jdk1.7.0_45.jdk/Contents/Info.plist中的jvmfunction

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

有了这个修复,你不需要在eclipse.ini中指定vm。

在上面的Mac似乎不工作。 对于Eclipse Eclipse KEPLER,我通过添加

 -vm /Library/Java/JavaVirtualMachines/jdk1.7.0_45.jdk/Contents/Home/ 

在我的eclipse.ini结尾(没有那个换行符)

这最终改变了我的Eclipse安装细节>configuration

-vm /System/Library/Frameworks/JavaVM.framework

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

不适用于我的Eclipse INDIGO安装。

安装Oracle JRE和JDK之后,打开Eclipse.app中的Info.plist(右键单击,显示内容),并在“Eclipse”“-vm / System / Library / Frameworks / JavaVM.framework / JavaVM”

我看起来像这样:

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

如果这样做,则在升级JRE之后不必更新文件。

只需编辑

 Eclipse.app/Contents/Info.plist 

您必须使用特定的Java版本(而不是平台的默认版本)取消注释以下选项之一:

 <string>-vm</string> <string>/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/bin/java</string> 

这帮助我从1.7.0回滚到1.6.0。

检查你的java_home是否在/ usr / libexec / java_home中是corrento;

不要更改你的eclipse.ini并编辑Info.plist文件,并改变/添加这一行<string> -vm </ string> <string> / Library / Java / JavaVirtualMachines /'jdk-version-your'/ Contents / Home / bin / java </ string>并保存。 打开Eclipse并完成!

对我来说,它运行良好,并使用javafx e(fx)剪辑!

PS:在Mac OS X系统上,您可以在Finder的Eclipse可执行文件上右键单击(或Ctrl +单击),findInfo.plist,selectShow Package Contents,然后在Info文件夹中findInfo.plist。

假设您使用的是支持Java 7的Eclipse版本(我相信任何3.7及更高版本),您应该能够在eclipse.ini文件中指定Eclipse使用的JVM。 如果你打开它,你应该看到一个“-vm”属性,后面跟着你当前使用的JVM的目录。 你应该能够把这个目录改成你的1.7安装。

注意:我没有在Mac上使用Eclipse,所以configuration文件的名称可能会有所不同。

截至2012年4月28日,这是Eclipse 3.7 SR2启动器应用程序中已知的未解决的错误。

请参阅https://bugs.eclipse.org/bugs/show_bug.cgi?id=339788

我刚刚有这个问题。 我通过降级和下载JDK 7来修复它。

下载并安装Titanium后,我遇到了类似的问题。 我的日食工作,但titanium没有,所以我最终在configuration文件看看有什么不同

Eclipse了

 eclipse.p2.profile=epp.package.standard 

titanium了

 eclipse.p2.profile=profile 

改变上面的匹配的Eclipseconfiguration后,我能够启动titanium

这点解决了我点击几下。 GoTo Eclipse - > Preference - > Java - > Installed JRE - > Add button - > Standard VM并将JRE Homepath引用到/Library/Java/JavaVirtualMachines/jdk1.7.0_55.jdk/Contents/Home并添加自定义名称。 在给出JREpath之后,将自动添加所需的Jar文件并单击完成。 请确保jdk已经安装。

对我来说,它的工作修复build议在https://bugs.eclipse.org/bugs/show_bug.cgi?id=411361#c25

 #!/bin/bash # Workaround for https://bugs.eclipse.org/411361 # "[Mac] Kepler doesn't launch without JRE 6, even if JDK 7 is installed" # # Put this launch.command into the same folder as Eclipse.app. # # If necessary, adapt JAVA_EXECUTABLE to the full path to your Java executable: JAVA_EXECUTABLE=java cd "$(dirname "$0")" $JAVA_EXECUTABLE \ -Djava.library.path="$(echo plugins/org.eclipse.equinox.launcher.cocoa.macosx.x86_64_*/eclipse_*.so)" \ -Xms512m \ -Xmx2048m \ -Xdock:icon=Eclipse.app/Contents/Resources/Eclipse.icns \ -XstartOnFirstThread \ -Dorg.eclipse.swt.internal.carbon.smallFonts \ -XX:MaxPermSize=256m \ -jar "$(echo plugins/org.eclipse.equinox.launcher_*.jar)" \ -os macosx \ -ws cocoa \ -arch x86_64 \ -showsplash \ -name Eclipse \ --launcher.appendVmargs \ -debug \ -showlocation \ -consolelog 

默认情况下,您的MacOSX附带了不适合Eclipse的JRE 1.6.0。 要解决问题,您还需要安装已经包含JRE 1.7.0的JDK 7。

这里是可以下载的链接。

只需在Java SE开发工具包7u79下selectMacOS X版本并安装即可。

http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html

在安装这个软件包之后,Eclipse将不需要任何修改就可以启动。

解决scheme简单 在另一个线程在这里。 从apple.com下载Java而不是Oracle。 它完全解决了问题,现在打开双击,不需要terminal或编程。