m2eclipse:Eclipse在JRE中运行,但需要JDK

m2eclipse:Eclipse在JRE中运行,但需要JDK,eclipse,maven-2,java,m2eclipse,Eclipse,Maven 2,Java,M2eclipse,我对m2eclipse(0.10.0)和EclipseGalileo(构建id:20090920-1017)有一个问题 我总是收到错误消息:“Eclipse正在JRE中运行,但需要JDK”。我试过几种方法,但都不管用。错误消息仍然存在。以下是我尝试过的东西: 在窗口>首选项>Java>安装的JRE中,我检查了JDK1.6.0_20。不起作用 在窗口>首选项>Java>已安装的JRE中,我删除了所有JRE。只有选中的JDK1.6.0_20仍然存在。不起作用 在Window>Preferences

我对m2eclipse(0.10.0)和EclipseGalileo(构建id:20090920-1017)有一个问题

我总是收到错误消息:“Eclipse正在JRE中运行,但需要JDK”。我试过几种方法,但都不管用。错误消息仍然存在。以下是我尝试过的东西:

  • 在窗口>首选项>Java>安装的JRE中,我检查了JDK1.6.0_20。不起作用

  • 在窗口>首选项>Java>已安装的JRE中,我删除了所有JRE。只有选中的JDK1.6.0_20仍然存在。不起作用

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

  • 在eclipse桌面启动图标的首选项中,我添加了-vm参数(C:\program\eclipse\u galileo\eclipse\eclipse.exe-vm C:\program\Java\jdk1.6.0\u 20\bin)。不起作用

  • 我添加了clean参数(C:\program\eclipse\u galileo\eclipse\eclipse.exe-vmc:\program\Java\jdk1.6.0\u 20\bin-clean)。不起作用

  • 我在eclipse.ini文件中添加了-vm参数,在新的一行中,在-vm和C:/program/Java/jdk1.6.0_20/bin/javaw.exe后面加了一个回车符。不起作用

  • 完成所有这些之后,我删除了m2eclipse插件并再次安装。不起作用

我尝试过的新想法:

  • 在eclipse桌面开始图标的首选项中,我将可执行文件放在末尾(C:\program\eclipse\u galileo\eclipse\eclipse.exe-vm C:\program\Java\jdk1.6.0\u 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
有人有其他想法吗?感谢您的帮助

多谢各位。
GernoK

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

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

关于ini文件,它取决于完整的内容。您的ini文件包含哪些内容?

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

-vm
C:\Programme\Java\jdk1.6.0_10\bin\javaw.exe
从我的eclipse.ini文件。
也许您应该在eclipse.ini中使用反斜杠。

这里涉及两个JVM;Eclipse正在运行的项目和工作区中不同项目运行的项目。我认为这条消息指的是Eclipse运行的JVM。因此,该解决方案不包含在Eclipse中的“已安装的JRE”部分中。在Windows中,JVM在您的路径中

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


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

我在Eclipse报告中遇到了相同的问题,即它正在JRE(Win7 x64,32位JDK 1.6 update 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
尝试添加以下内容:

-vm E:\java\jdk1.6\jre\bin\client\jvm.dll

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

答案是,你必须在两者之间有一条分界线

-虚拟机

还有那条路

因此,在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
这是行不通的:

-vm C:\java\jdk\bin\javaw.exe
但这将:

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

卸载JRE,只留下JDK和专用JRE。运行Eclipse,它会立即抱怨找不到JRE或JDK(假设您的ini中缺少或错误了-vm选项)

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


实际上,我先卸载了Java的所有内容,然后重新安装了JDK 6,而没有安装公共JRE和数据库部分。

将这些行放在
eclipse.ini
文件的开头:

-vm
G:/dev/jdk1.6.0_19/bin/javaw.exe

马里奥·奥尔特冈的回答是这个问题的正确答案。您需要做的唯一一件事是将这一行“-vm C:\java\jdk\bin\javaw.exe”移到eclipse.ini中的-product org.eclipse.epp.package.jee.product节下。这样地: -产品 org.eclipse.epp.package.jee.product -虚拟机 C:\java\jdk\bin\javaw.exe
保存并重新启动eclipse。错误将会消失

卸载方法是唯一适合我的方法。直到我只安装了JDK,再多的-vm魔法都无法实现这一点

我也遇到了同样的问题,但还是解决了。在eclipse.ini文件的第一行添加-vm选项,它就会工作。

我也有这个问题。
当我升级到EclipseIndigo时,这个问题消失了。因此,尝试更高版本

我认为编辑eclipse.iniSTS.ini文件时需要这些答案:

很多人犯这些错误是因为他们做出了某些假设(这是不正确的):

  • 错误#1:将参数写入同一行。与JVM命令行不同,Eclipse希望每个参数都放在其Eclipse.ini文件的不同行中。 最常见的错误之一是(应分两行书写):

    -vmc:/Java/jdk1.6.0\u 31/bin/javaw.exe

  • 错误#2:以错误的顺序写入-vm和-vmargs。顺序很重要。-vmargs必须放在-vm之前。为什么?因为一旦指定了-vm,vm将被完全指定,其余的-vmarg将被忽略

  • 错误#3:Assu