我正在尝试让new 1.7 JDK使用Eclipse(这是Oracle的正式版本)。
我并不仅仅指向Eclipse,因此您可以在项目中使用它,这很好用,但实际上是使用1.7 JVM运行Eclipse。
我已经将新的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文件的内容:https://gist.github.com/2512578
答案 0 :(得分:36)
还有另一种方式。请在.ini文件中的-vmargs之前添加以下两行:
-vm
{YOUR_JAVA_7_HOME}/jre/lib/server/libjvm.dylib
(记住这些需要是单独的行)并在“Info.plist”文件中添加相应的条目(在“Eclipse”键下添加或修改数组项 - 每个字符串子元素对应一个命令行参数)。 / p>
...
<key>Eclipse</key>
<array>
<string>-vm</string>
<string>/{MY_VM_HOME}/jre/lib/server/libjvm.dylib</string>
...
</array>
或者在从终端运行eclipse时使用-vm {YOUR_JAVA_7_HOME}/lib/server/libjvm.dylib
命令行参数。
答案 1 :(得分:32)
我刚刚向https://bugs.eclipse.org/bugs/show_bug.cgi?id=339788添加了关于无法在OS X上使用Eclipse的新Oracle JDK的注释。在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上的步骤,我将上面的脚本转换为可以保留在我的底座上的应用程序。
答案 2 :(得分:9)
显然有一个Kepler的修复程序应该在下一个服务版本中出现。
与此同时,此错误中提到了一种解决方法,允许您在不安装Apple的JRE 1.6的情况下运行eclipse:https://bugs.eclipse.org/bugs/show_bug.cgi?id=411361#c20
这将允许您从取景器或聚光灯发射日食,但不能从码头发射。
我刚刚在OS X Mavericks上对此进行了测试,在更新期间失去了jre 6并要求在尝试启动Eclipse时安装它。我当然安装了最新的Oracle JDK 1.7。
拒绝执行此操作然后解决此问题,编辑/Library/Java/JavaVirtualMachines/jdk1.7.0_45.jdk/Contents/Info.plist中的jvm功能
<key>JVMCapabilities</key>
<array>
<string>CommandLine</string>
<string>JNI</string>
<string>BundledApp</string>
<string>WebStart</string>
<string>Applets</string>
</array>
使用此修复程序,您无需在eclipse.ini中指定vm。
答案 3 :(得分:6)
在上面的Mac上似乎不起作用。对于我使用Eclipse KEPLER,它通过添加
来工作-vm /Library/Java/JavaVirtualMachines/jdk1.7.0_45.jdk/Contents/Home/
在我的eclipse.ini结尾(没有那个换行符)
这最终改变了我的Eclipse安装细节&gt;配置来自
-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安装确实不。
答案 4 :(得分:3)
安装Oracle JRE和JDK后,在Eclipse.app中打开Info.plist(右键单击,显示内容)并在“Eclipse”之后粘贴 “-vm /系统/库/框架/ 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后不必更新文件。
答案 5 :(得分:2)
只需编辑
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。
答案 6 :(得分:2)
检查/ usr / libexec / java_home中的java_home是否为corrento;
请勿更改您的eclipse.ini并编辑Info.plist文件并更改/添加此行&lt;串GT; -vm&LT; /串GT;&LT;串&GT; /图书馆/的Java / JavaVirtualMachines / 'JDK版本,你的'/内容/首页/斌/ Java和LT; /串GT; 并保存。打开Eclipse并完成!
对我而言,它运作良好,并使用javafx e(fx)clipse!
PS:在Mac OS X系统上,您可以通过右键单击(或按住Ctrl键单击)Finder中的Eclipse可执行文件,选择Show Package Contents,然后在Contents文件夹中找到Info.plist来查找Info.plist
答案 7 :(得分:1)
假设您使用的是支持Java 7的Eclipse版本(我相信3.7及以上版本),您应该能够在eclipse.ini文件中指定Eclipse使用的JVM。如果打开它,您应该看到“-vm”属性,后跟您当前使用的JVM目录。您应该可以将此目录更改为1.7安装。
注意:我没有在Mac上使用Eclipse,因此配置文件的名称可能不同。
答案 8 :(得分:1)
截至2012-04-28,它是Eclipse 3.7 SR2启动器应用程序中一个已知未解决的错误。
答案 9 :(得分:1)
我刚遇到这个问题。我通过降级和下载JDK 7来修复它。
答案 10 :(得分:0)
下载并安装Titanium后,我遇到了类似的问题。我的eclipse有效,但Titanium没有,所以我最终查看配置文件,看看有什么不同
Eclipse有
eclipse.p2.profile=epp.package.standard
Titanium
eclipse.p2.profile=profile
更改上面的内容以匹配eclipse配置后,我能够启动Titanium
答案 11 :(得分:0)
只需点击几下就可以解决这个问题。
转到Eclipse - > Preference - > Java - > Installed JRE - > Add button - > Standard VM
并将JRE主页路径引用到/Library/Java/JavaVirtualMachines/jdk1.7.0_55.jdk/Contents/Home
并添加自定义名称。在给出JRE路径后,将自动添加所需的Jar文件并单击完成。请确保已安装jdk。
答案 12 :(得分:0)
对我来说,它在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
答案 13 :(得分:0)
默认情况下,您的MacOSX附带JRE 1.6.0,不适合Eclipse。要解决问题,您还需要安装已包含JRE 1.7.0的JDK 7.
这是您可以下载的链接。
只需在Java SE Development Kit 7u79下选择MacOS X版本并安装即可。
http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html
安装此软件包后,Eclipse将在不再进行任何修改的情况下启动。
答案 14 :(得分:-1)
简单的解决方案。在这里的另一个线程上。从apple.com而不是Oracle下载Java。它完全解决了问题,现在只需双击即可打开,无需终端或编程。