本文正在参加「Java主题月 - Java Debug笔记活动」,详情查看 活动链接
Debug 笔记 <如何使用适用于Mac的Oracle新的1.7 JDK运行Eclipse?>
提问
我正在尝试使新的1.7 JDK与Eclipse一起使用(这是Oracle的正式版本)。
我并不是说仅将Eclipse指向它,以便您可以在项目中使用它,这很好,但实际上是使Eclipse使用1.7 JVM运行。
我已经将新的JVM移至Java Preferences中的列表顶部,但是Eclipse仍从1.6开始。
如果在Java首选项中禁用1.6,则在双击Eclipse后立即显示一个对话框,提示“无法创建Java虚拟机”。
编辑:我在-vmargs之前在eclipse.ini中添加了以下内容:
-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文件的内容:gist.github.com/2512578
回答一
我刚刚将评论添加到bugs.eclipse.org/bugs/show_b…
内容涉及无法在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
通过使用mathiasbynens.be/notes/shell… 上的步骤,
我将上面的脚本变成了可以保留在扩展坞上的应用程序。
回答二
还有另一种方式。请在.ini文件中的-vmargs之前添加以下两行:
-vm
{YOUR_JAVA_7_HOME}/jre/lib/server/libjvm.dylib
(请记住,这些内容必须是单独的行),并在“ Info.plist”文件中添加相应的条目
(在“ Eclipse”键下添加或修改数组项-每个字符串子元素都对应于一个命令行参数)。
...
<key>Eclipse</key>
<array>
<string>-vm</string>
<string>/{MY_VM_HOME}/jre/lib/server/libjvm.dylib</string>
...
</array>
另外,-vm {YOUR_JAVA_7_HOME}/lib/server/libjvm.dylib从终端运行Eclipse时,
只需使用命令行参数即可。
文章翻译自Stack Overflow :stackoverflow.com/questions/1…