41

我对 m2eclipse (0.10.0) 和 eclipse galileo (Build id: 20090920-1017) 有疑问。

我总是收到错误消息:“Eclipse 正在 JRE 中运行,但需要 JDK”。我已经尝试了几件事,但没有任何效果。错误消息仍然存在。以下是我尝试过的事情:

  • 在 Window>Preferences>Java>Installed JREs 我检查了 JDK1.6.0_20。不工作

  • 在 Window>Preferences>Java>Installed JREs 我删除了所有 JREs。只有勾选的JDK1.6.0_20还在。不工作

  • 在 Window>Preferences>Java>Installed JREs>Execution Environments 我选择了 JavaSE-1.6 并检查了 JDK1.6.0_20[完美匹配]。不工作。

  • 在 Eclipse 桌面启动图标的首选项中,我添加了 -vm 参数(C:\Programme\eclipse_galileo\eclipse\eclipse.exe -vm C:\Programme\Java\jdk1.6.0_20\bin)。不工作。

  • 我添加了 clean 参数(C:\Programme\eclipse_galileo\eclipse\eclipse.exe -vm C:\Programme\Java\jdk1.6.0_20\bin -clean)。不工作。

  • 我在 eclipse.ini 文件中添加了 -vm 参数,并在 -vm 和 C:/Programme/Java/jdk1.6.0_20/bin/javaw.exe 之后添加了回车符。不工作。

  • 完成所有这些事情后,我删除了 m2eclipse 插件并再次安装它。不工作。

我尝试过的新想法:

  • 在 Eclipse 桌面启动图标的首选项中,我将可执行文件放在最后(C:\Programme\eclipse_galileo\eclipse\eclipse.exe -vm C:\Programme\Java\jdk1.6.0_20\bin\javaw.exe)。不工作。

  • 我在 eclipse.ini 中将斜杠更改为反斜杠。不工作。

这是我的 eclipse.ini 文件:

-startup
plugins/org.eclipse.equinox.launcher_1.0.201.R35x_v20090715.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:\Programme\Java\jdk1.6.0_20\bin\javaw.exe
-vmargs
-Dosgi.requiredJavaVersion=1.5
-Xms40m
-Xmx512m

有没有人有其他想法?任何帮助表示赞赏。

非常感谢您。格诺克

4

15 回答 15

26

不可思议,这个问题的解决方法,竟然与斜杠、反斜杠、引号、空格、jre、jdk、jvm、javaw、....无关。

答案是你必须有一个换行符之间

-vm

和路径。

所以在 eclipse.ini 文件中:

这将不起作用:

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

但这会:

-vm
C:\java\jdk\bin\javaw.exe
于 2010-11-18T17:26:24.480 回答
13

MARIO-ORTEGON 的回答是这个问题的正确答案。您唯一需要做的就是将这一行“-vm C:\java\jdk\bin\javaw.exe”移动到 eclipse.ini 中的 -product org.eclipse.epp.package.jee.product 部分下。像这样: -product org.eclipse.epp.package.jee.product -vm C:\java\jdk\bin\javaw.exe 保存并重新启动 Eclipse。错误将消失。

于 2010-12-21T04:52:25.367 回答
11

I think these are answers needed when editing the eclipse.ini or STS.ini files:

A lot of people make these mistakes because they make certain assumptions (which is not correct):

  1. Mistake #1: Writing the parameters in the same line. Unlike JVM command line, Eclipse expects every parameters to be placed in different line in its eclipse.ini file. One of the most common mistake is (which should be written in 2 separated lines):

    -vm c:/Java/jdk1.6.0_31/bin/javaw.exe

  2. Mistake #2: Writing the -vm and -vmargs in the wrong order. Sequence does matter. The -vmargs has to be put before the -vm. Why? Because once the -vm has been specified, the VM will be fully specified and the rest of the -vmargs will be ignored.

  3. Mistake #3: Assuming the eclipse.ini will stay the same if you don't change it. Some plugins installation may have auto configuration (which after restarting automagically change the eclipse.ini file, or other .ini config file, e.g. STS.ini if you are using SpringSource Tool Suite for example), they will append indiscriminately the -vm before the -vmargs. Check for double occurrence of -vm or -vmargs.

  4. Mistake #4: Pointing to the path of JVM, instead of the binary when specifying -vm. Eclipse expects the Java JVM binary, not just the JAVA_HOME path e.g. -vm c:/Java/jdk1.6.0_31/bin/javaw.exe not just -vm c:/Java/jdk1.6.0_31

For the original question, it seems the Mistake #2 is the cause. Instead of the one, you should move the -vm to the end, after -vmargs:

-startup
plugins/org.eclipse.equinox.launcher_1.0.201.R35x_v20090715.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:\Programme\Java\jdk1.6.0_20\bin\javaw.exe
于 2012-09-06T17:06:10.943 回答
4

Eclipse 报告它在 JRE(Win7 x64,32 位 JDK 1.6 更新 21)中运行时,我遇到了同样的问题,即使我指定它应该使用 JDK。

我终于删除了 JRE6,它可以选择与 JDK 一起安装,消息消失了。

对 Windows 有更深入了解的人将不得不解释它为什么这样做,但它显然忽略了 eclipse.ini 设置,以及 JAVA_HOME 并在 JRE 中启动 eclipse。

我的eclipse.ini:

-vm
C:/Java/jdk1.6.0_21/bin/javaw.exe
-startup
plugins/org.eclipse.equinox.launcher_1.0.201.R35x_v20090715.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.0.200.v20090519
-product
org.eclipse.epp.package.jee.product
-nosplash
org.eclipse.platform
-vmargs
-Dosgi.requiredJavaVersion=1.5
-Xms32m
-Xmx1024m
-Xss6m
-XX:PermSize=32m
-XX:MaxPermSize=256m
-XX:CompileThreshold=5
-XX:MaxGCPauseMillis=10
-XX:MaxHeapFreeRatio=70
-XX:+UseParallelGC
-XX:+AggressiveOpts
-Dcom.sun.management.jmxremote

JAVA_HOME

C:\Windows\system32>echo %JAVA_HOME%
C:\Java\jdk1.6.0_21
于 2010-10-15T22:39:21.150 回答
2

Put these lines at the beginning of the eclipse.ini file:

-vm
G:/dev/jdk1.6.0_19/bin/javaw.exe
于 2010-12-20T19:41:26.057 回答
2

我认为你必须明确地将可执行文件添加到 -vm 参数中:

C:\Programme\eclipse_galileo\eclipse\eclipse.exe -vm C:\Programme\Java\jdk1.6.0_20\bin\javaw

关于ini文件,取决于完整的内容。你的ini文件包含什么?

于 2010-05-27T13:26:02.107 回答
1

删除这两行后,我会收到相同的错误消息

-vm
C:\Programme\Java\jdk1.6.0_10\bin\javaw.exe

从我的 eclipse.ini 文件中。也许您应该在那个 eclipse.ini 中使用反斜杠。

于 2010-05-27T13:40:17.367 回答
0

卸载方法是唯一对我有用的方法。在我只安装了 JDK 之前,没有多少 -vm 魔法让它发生。

于 2011-01-31T21:31:48.717 回答
0

Java 可能正在使用JAVA_HOME环境变量查找其文件。尝试将其更改为C:\Programme\Java\jdk1.6.0_20

在 Windows XP 中,它位于控制面板、系统、高级选项卡、环境变量按钮下。

于 2010-05-27T16:08:39.407 回答
0

检查 Eclipse 的 Installed JRE 设置。它应该指向 JDK 而不是 JRE。虽然它是一个 JRE 设置。请记住 JDK 包含 JRE,当 Maven 运行时,它会尝试查找 JDK,主要是 tools.jar。

于 2013-06-18T16:37:38.437 回答
0

尝试添加这个:

-vm E:\java\jdk1.6\jre\bin\client\jvm.dll
于 2010-10-21T06:36:45.623 回答
0

卸载 JRE,只留下 JDK 和私有 JRE。运行 Eclipse,它会立即抱怨找不到 JRE 或 JDK(假设 -vm 选项在您的 ini 中丢失或错误)。

现在将 javaw 的 -vm 路径放在你的 ini 文件中,保存,Eclipse 现在将加载 JDK。

实际上,我继续卸载了所有 Java,然后重新安装了 JDK 6,省略了公共 JRE 和安装的数据库部分。

于 2010-12-13T20:33:27.693 回答
0

我有同样的问题,但解决了。添加 -vm 选项作为 eclipse.ini 文件的第一行,它将起作用。

于 2011-02-03T15:49:10.067 回答
0

我也有这个问题。当我升级到 Eclipse Indigo 时,这个问题就消失了。所以尝试使用更高版本。

于 2012-04-17T10:15:42.157 回答
0

这里涉及两个 JVM;运行 Eclipse 的一个和运行工作区中不同项目的一个(或多个)。我认为此消息指的是运行 Eclipse 的 JVM。因此,解决方案不包含在“已安装的 JREs " Eclipse 中的部分。它是您在 Windows 中的路径中的 JVM。

于 2010-05-27T13:43:48.890 回答