Eclipse JVM配置

时间:2009-09-11 12:12:18

标签: eclipse configuration jvm m2eclipse

背景:我有一个新的eclipse安装并安装了m2eclipse插件。启动后m2eclipse生成消息:

  

Eclipse在JRE中运行,但是在JDK中运行   是必需的

按照here的说明,我已将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

8 个答案:

答案 0 :(得分:12)

请参阅:

有关参数顺序的示例。

-vm应该在-vmargs

之前

更新6年(2015年)

E Riz提到in the comments new Eclipse Installer 会为您检测JVM,或建议下载JVM。

https://www.eclipse.org/downloads/assets/public/images/installer-instructions-04.png

答案 1 :(得分:7)

难以置信,对我来说这个问题的解决方案与斜杠,反斜杠,引号,空格,jre,jdk,jvm,javaw等无关。

答案是你必须在-vm和路径之间换行。

所以在eclipse.ini文件中:

这不起作用:

-vm C:\java\jdk\bin\javaw.exe

但愿意:

-vm
C:\java\jdk\bin\javaw.exe

答案 2 :(得分:2)

我认为你的机器是64位窗口?

我在网站上看不到64位windows版本的eclipse。所以只有32位可用。 您确定机器中安装了32位JDK吗? 只是一个想法...

答案 3 :(得分:1)

答案 4 :(得分:0)

如果您正在使用Windows,请右键单击您的eclipse快捷方式并选择“属性”,在“快捷方式”选项卡中,您可以更改“目标:”框中的内容以指定jdk。我用

“C:\ Program Files \ eclipse-jee-galileo-sr1(3.5.1)\ eclipse.exe”-vm“C:\ Program Files \ Java \ jdk1.6.0_16 \ bin \ javaw.exe” - vmargs -Xmx1024m -XX:PermSize = 256M -XX:MaxPermSize = 512M -XX:+ UseConcMarkSweepGC -XX:+ CMSIncrementalMode 出于某种原因,当我尝试编辑eclipse.ini文件时,我无法使用jdk。

Howto start eclipse in JDK?

答案 5 :(得分:0)

我的问题是 -vm “C:\ Program Files \ Java \ jdk1.7.0_67 \ jre \ bin \ javaw.exe”

路径在引号中,当我删除它起作用的引号时:

-vm C:\ Program Files \ Java \ jdk1.7.0_67 \ jre \ bin \ javaw.exe

答案 6 :(得分:0)

你应该在-vm参数之后提及javaw.exe的完整路径而不使用双引号,即"",每个-vm和路径必须在不同的行中,-vm必须是之前-vmargs。例如:

-vm
C:\Program Files\Java\jrockit-jre1.6.0_45-R28.2.7\bin\javaw.exe
-vmargs
-Dosgi.requiredJavaVersion=1.6
-Xms40m
-Xmx512m
-XX:+UnlockDiagnosticVMOptions
-XX:MaxClassBlockMemory=75M

答案 7 :(得分:-1)

我解决了这个问题。

在Eclipse中创建Maven项目时,此项目属性中的文本文件编码和project.build.sourceEncoding中的pom.xml不一样。当你构建这个项目时,它会报告“无法在:...中找到Javac编译器”错误。

例如,我的文本文件编码为GBK,project.build.sourceEncoding为UTF-8,因此发生此错误。我刚刚将文本文件编码修改为UTF-8。