Eclipse JVM 配置
-
05-07-2019 - |
题
背景:我已经安装了新的 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 开发工具包 (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
解决方案
其他提示
难以置信,对我来说这个问题的解决方案与斜杠,反斜杠,引号,空格,jre,jdk,jvm,javaw等无关。
答案是你必须在 -vm
和路径之间换行。
所以在eclipse.ini文件中:
这不起作用:
-vm C:\java\jdk\bin\javaw.exe
但愿意:
-vm
C:\java\jdk\bin\javaw.exe
我认为你的机器是64位窗口?
我在网站上看不到64位windows版本的eclipse。所以只有32位可用。 您确定机器中安装了32位JDK吗? 只是一个想法...
这也在Eclipse文档中解决: https://wiki.eclipse.org/Eclipse.ini#-vm_value:_Windows_Example一>
如果您正在使用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。
我的问题是 -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
你应该在-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
我解决了这个问题。
在Eclipse中创建Maven项目时,此项目属性中的文本文件编码和 pom.xml
中的 project.build.sourceEncoding
可能不同。当您构建此项目时,它将报告“无法在以下位置找到Javac编译器:...”也是错误。
例如,我的文本文件编码为GBK, project.build.sourceEncoding
为UTF-8,因此发生此错误。我刚刚将文本文件编码修改为UTF-8。