views:

711

answers:

8

Hello, I have a problem with m2eclipse (0.10.0) together with eclipse galileo (Build id: 20090920-1017).

I always get the error message:"Eclipse is running in a JRE, but a JDK is required". I have tried several things, but nothing works. The error message is still there. Here are the things I have tried:

  • In Window>Preferences>Java>Installed JREs I checked JDK1.6.0_20. DOES NOT WORK

  • In Window>Preferences>Java>Installed JREs I removed all JREs. Only the checked JDK1.6.0_20 is still there. DOES NOT WORK

  • In Window>Preferences>Java>Installed JREs>Execution Environments I choosed JavaSE-1.6 and checked JDK1.6.0_20[perfect match]. DOES NOT WORK.

  • In Preferences of the eclipse desktop start icon I added the -vm parameter (C:\Programme\eclipse_galileo\eclipse\eclipse.exe -vm C:\Programme\Java\jdk1.6.0_20\bin). DOES NOT WORK.

  • I added the clean parameter (C:\Programme\eclipse_galileo\eclipse\eclipse.exe -vm C:\Programme\Java\jdk1.6.0_20\bin -clean). DOES NOT WORK.

  • I added the -vm parameter to the eclipse.ini file with a carriage return after -vm and C:/Programme/Java/jdk1.6.0_20/bin/javaw.exe in a new line. DOES NOT WORK.

  • After doing all these things I removed the m2eclipse plugin and installed it once again. DOES NOT WORK.

New ideas I have tried:

  • In Preferences of the eclipse desktop start icon I put the executable at the end (C:\Programme\eclipse_galileo\eclipse\eclipse.exe -vm C:\Programme\Java\jdk1.6.0_20\bin\javaw.exe). DOES NOT WORK.

  • I changed in eclipse.ini the slashes to backslashes. DOES NOT WORK.

Here is my eclipse.ini file:

-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

Is anyone out there who have other ideas? Any help is appreciated.

Thank You very much. GernoK

A: 

I think you have to explicity add the executable to the -vm argument:

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

Regarding the ini file, it depends on the full contents. What does your ini file contains?

Mario Ortegón
Thanks, Your first idea does not work, I have added the ini content to my question.
GernoK
+1  A: 

I'm getting the same error message as soon as I remove these two lines

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

from my eclipse.ini file. Maybe you should use backslashes in that eclipse.ini.

xor_eq
Thanks, I have tried it, but it does not work.
GernoK
That should have worked. Have you checked if Eclipse is running on the JDK? You can do this at Help->About Eclipse->Installation Details->Configuration there are several entries that hint at what java version is used (e.g. *eclipse.vm* or *sun.boot.class.path*).If Eclipse really uses the JDK your problem is probably a bug in the m2eclipse plugin.
Turismo
I don't think that this is an issue anymore, but I was working on something and remembered this. Just a tip: Use a tool like System Explorer to find out about the javaw.exe that is used by eclipse.
xor_eq
A: 

There are two JVMs involved here; the one that Eclipse is running in and the one (or more) that the different projects in your workspace run in. I think this message refers to the JVM that Eclipse is running in. So, the solution is not contained in the "Installed JREs" section within Eclipse. It's the JVM that's in your path within Windows.

Rob Heiser
A: 

Thank You, Rob Heiser

I have edited both enviroment variables (Path and JAVA_HOME) - but no changes. The errormessage is still there.

Does someone else have any ideas ??

Thanks

GernoK

GernoK
A: 

Java may be finding its files using the JAVA_HOME environment variable. Try changing it to C:\Programme\Java\jdk1.6.0_20

In Windows XP, this is under Control Panel, System, Advanced tab, Environment Variables button.

R. Bemrose
A: 

I'm always a little confused as to what is called back and forward slash where. in Germany we call these backslash \ and these forward slash /, so that's the terminology I'll use. Anyway, you need to either escape your backslashes:

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

or use forward slashes:

-vm C:/Programme/Java/jdk1.6.0_20/bin/javaw.exe

this applies to pretty much any case when a java process needs to read a windows path

seanizer
A: 

I had the same problem with Eclipse reporting that it was running in the JRE (Win7 x64, 32 Bit JDK 1.6 update 21), even though I was specifying that it should use the JDK.

I finally deleted JRE6 which is optionally installable with the JDK and the message disappeared.

Someone with a deeper understanding of Windows will have to explain why it does this, but it is apparently ignoring the eclipse.ini setting, as well as JAVA_HOME and starting eclipse in the JRE anyway.

My 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
Crutis
A: 

Try adding this:

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

venkatb