如何使用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启动器应用程序中已知的未解决的错误。
我刚刚有这个问题。 我通过降级和下载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或编程。