背景:我已经安装了新的 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
有帮助吗?

解决方案

看:

有关参数顺序的示例。

-vm 应该在之前 -vmargs


6年后更新(2015)

埃里兹 提及 在评论中 认为 新的 Eclipse 安装程序 将为您检测 JVM,或建议下载。

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

其他提示

难以置信,对我来说这个问题的解决方案与斜杠,反斜杠,引号,空格,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吗? 只是一个想法...

我的问题是 -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。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top