背景:我有一个新的eclipse安装并安装了m2eclipse插件.启动后m2eclipse生成消息:
Eclipse在JRE中运行,但是需要JDK
按照这里的说明,我已经将eclipse.ini文件更改为使用JDK JVM:
-startup plugins/org.eclipse.equinox.launcher_1.0.200.v20090520.jar --launcher.library plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.0.200.v20090519 -product org.eclipse.epp.package.jee.product --launcher.XXMaxPermSize 256M -showsplash org.eclipse.platform --launcher.XXMaxPermSize 256m -vmargs -Dosgi.requiredJavaVersion=1.5 -Xms40m -Xmx512m -vm "C:\Program Files\Java\jdk1.6.0_16\bin\javaw.exe"
然而,在重新启动eclipse之后,我仍然收到消息说它在JRE而不是JDK下运行.
通过帮助 - >关于Eclipse - >安装细节 - >配置查看 eclipse 配置,似乎eclipse正在从其他地方获取JVM配置详细信息:
... -vm C:\Program Files (x86)\Java\jre6\bin\client\jvm.dll eclipse.home.location=file:/C:/Program Files (x86)/eclipse/ eclipse.launcher=C:\Program Files (x86)\eclipse\eclipse.exe eclipse.p2.data.area=@config.dir/../p2/ eclipse.p2.profile=epp.package.jee eclipse.product=org.eclipse.epp.package.jee.product eclipse.startTime=1252669330296 eclipse.vm=C:\Program Files (x86)\Java\jre6\bin\client\jvm.dll eclipse.vmargs=-Dosgi.requiredJavaVersion=1.5 -Xms40m -Xmx512m -vm "C:\Program Files\Java\jdk1.6.0_16\bin\javaw.exe" -XX:MaxPermSize=256m ...
我的问题是第一个-vm参数来自何处以及如何删除或更改它?
谢谢
更新:我根据VonC的回答更新了eclipse.ini文件.我现在在启动eclipse时遇到错误说:
必须提供Java运行时环境(JRE)或Java Development Kit(JDK)才能运行Eclipse.搜索以下位置后未找到Java虚拟机:"C:\ Program Files\Java\jdk1.6.0_16\bin\javaw.exe"
我已经确认路径是正确的,可以通过命令行执行.
完成下面的eclipse.ini:
-startup plugins/org.eclipse.equinox.launcher_1.0.200.v20090520.jar --launcher.library plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.0.200.v20090519 -product org.eclipse.epp.package.jee.product --launcher.XXMaxPermSize 256M -showsplash org.eclipse.platform --launcher.XXMaxPermSize 256m -vm "C:\Program Files\Java\jdk1.6.0_16\bin\javaw.exe" -vmargs -Dosgi.requiredJavaVersion=1.5 -Xms40m -Xmx512m
解决方案:似乎eclipse.ini文件仍有问题.我用VonC在他链接的帖子中给出的设置完全替换了它,eclipse现在正常启动并使用正确的JVM.对于遇到同样问题的其他人,请在下面给出完整的eclipse.ini:
-showlocation -showsplash org.eclipse.platform --launcher.XXMaxPermSize 384m -startup plugins/org.eclipse.equinox.launcher_1.0.200.v20090520.jar --launcher.library plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.0.200.v20090519 -vm C:\Program Files (x86)\Java\jdk1.6.0_16\jre\bin\client\jvm.dll -vmargs -Dosgi.requiredJavaVersion=1.5 -Xms128m -Xmx384m -Xss4m -XX:PermSize=128m -XX:MaxPermSize=128m -XX:CompileThreshold=5 -XX:MaxGCPauseMillis=10 -XX:MaxHeapFreeRatio=70 -XX:+UseConcMarkSweepGC -XX:+CMSIncrementalMode -XX:+CMSIncrementalPacing -Dcom.sun.management.jmxremote -Dorg.eclipse.equinox.p2.reconciler.dropins.directory=C:/jv/eclipse/mydropins
VonC.. 12
看到:
eclipse.ini为3.4或
eclipse.ini为3.5
有关参数顺序的示例.
-vm
应该在之前 -vmargs
更新6年(2015年)
E Riz 在评论中提到新的Eclipse安装程序将为您检测JVM,或建议下载.
看到:
eclipse.ini为3.4或
eclipse.ini为3.5
有关参数顺序的示例.
-vm
应该在之前 -vmargs
更新6年(2015年)
E Riz 在评论中提到新的Eclipse安装程序将为您检测JVM,或建议下载.
令人难以置信的是,对我来说这个问题的解决方案与斜杠,反斜杠,引号,空格,jre,jdk,jvm,javaw等无关.
答案是你必须-vm
在路径之间换行.
所以在eclipse.ini文件中:
这不起作用:
-vm C:\java\jdk\bin\javaw.exe
但这会:
-vm C:\java\jdk\bin\javaw.exe