1.32 如何使用适用于Mac的Oracle新的1.7 JDK运行Eclipse?| Java Debug 笔记

247 阅读2分钟

本文正在参加「Java主题月 - Java Debug笔记活动」,详情查看 活动链接

Debug 笔记 <如何使用适用于Mac的Oracle新的1.7 JDK运行Eclipse?>

提问

我正在尝试使新的1.7 JDKEclipse一起使用(这是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 JDKEclipse一起使用。在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…