2010-05-27 10 views
41

Ich habe ein Problem mit m2eclipse (0.10.0) zusammen mit eclipse galileo (Build ID: 20090920-1017).m2eclipse: Eclipse läuft in einem JRE, aber ein JDK ist erforderlich

Ich bekomme immer die Fehlermeldung: "Eclipse läuft in einer JRE, aber ein JDK ist erforderlich". Ich habe mehrere Dinge ausprobiert, aber nichts funktioniert. Die Fehlermeldung ist immer noch da. Hier sind die Dinge, die ich versucht habe:

  • Im Fenster> Einstellungen> Java> Installierte JREs I JDK1.6.0_20 geprüft. FUNKTIONIERT NICHT

  • Unter Fenster> Einstellungen> Java> Installierte JREs habe ich alle JREs entfernt. Nur das überprüfte JDK1.6.0_20 ist noch da. FUNKTIONIERT NICHT

  • Unter Fenster> Voreinstellungen> Java> Installierte JREs> Ausführungsumgebungen Ich habe JavaSE-1.6 ausgewählt und JDK1.6.0_20 überprüft [perfekte Übereinstimmung]. FUNKTIONIERT NICHT.

  • In Einstellungen des Startsymbol Eclipse Desktop hinzugefügt ich den -vm Parameter (C: \ Programme \ eclipse_galileo \ eclipse \ eclipse.exe -vm C: \ Programme \ Java \ jdk1.6.0_20 \ bin). FUNKTIONIERT NICHT.

  • Ich habe den sauberen Parameter hinzugefügt (C: \ Programme \ eclipse_galileo \ eclipse \ eclipse.exe -vm C: \ Programme \ Java \ jdk1.6.0_20 \ bin -clean). FUNKTIONIERT NICHT.

  • Ich habe den Parameter -vm der Datei eclipse.ini mit einem Wagenrücklauf nach -vm und C: /Programme/Java/jdk1.6.0_20/bin/javw.exe in einer neuen Zeile hinzugefügt. FUNKTIONIERT NICHT.

  • Nachdem ich all diese Dinge getan habe, habe ich das m2eclipse-Plugin entfernt und es wieder installiert. FUNKTIONIERT NICHT.

Neue Ideen, die ich habe versucht:

  • In Einstellungen des Eclipse Desktop Starticon habe ich die ausführbare Datei am Ende (C: \ Programme \ eclipse_galileo \ eclipse \ eclipse.exe -vm C: \ Programme \ Java \ jdk1.6.0_20 \ bin \ javaw.exe). FUNKTIONIERT NICHT.

  • Ich habe in eclipse.ini die Schrägstriche in Backslashes geändert. FUNKTIONIERT NICHT.

Hier ist meine eclipse.ini Datei:

-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 

Ist jemand da draußen, die anderen Ideen? Jede Hilfe wird geschätzt.

Vielen Dank. GernoK

+1

Siehe http://stackoverflow.com/questions/142357/what-are-the-best-jvm-settings-for-eclipse/1409590#1409590 für ein konkretes Beispiel des 'eclipse.ini' Formats. – VonC

+0

Bitte bearbeiten Sie Ihre Frage, wenn Sie mehr Details oder Erläuterungen zur Verfügung stellen möchten. –

+0

Wen es betrifft: Ich hatte das exakt gleiche Problem, bis ich auf Indigo aktualisiert habe. Funktioniert einen Zauberspruch! –

Antwort

2

Ich glaube, Sie müssen explizit die ausführbare Datei zu dem -vm Argument hinzu:

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

In Bezug auf die INI-Datei, auf dem vollständigen Inhalt abhängt. Was enthält Ihre Ini-Datei?

+0

Danke, Deine erste Idee funktioniert nicht, ich habe den ini Inhalt zu meiner Frage hinzugefügt. – GernoK

1

Ich erhalte die gleiche Fehlermeldung, sobald ich diese beiden Zeilen

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

aus meiner eclipse.ini Datei entfernen. Vielleicht sollten Sie Backslashes in dieser eclipse.ini verwenden.

+0

Danke, ich habe es versucht, aber es funktioniert nicht. – GernoK

+1

Das hätte funktionieren sollen. Haben Sie überprüft, ob Eclipse auf dem JDK ausgeführt wird? Sie können dies unter Hilfe-> Über Eclipse-> Installationsdetails-> Konfiguration tun. Es gibt mehrere Einträge, die darauf hinweisen, welche Java-Version verwendet wird (z. B. * eclipse.vm * oder * sun.boot.class.path *). Wenn Eclipse wirklich das JDK verwendet, ist Ihr Problem wahrscheinlich ein Fehler im m2eclipse-Plugin. – Turismo

+0

Ich denke nicht, dass dies ein Problem mehr ist, aber ich arbeitete an etwas und erinnerte mich daran. Nur ein Tipp: Verwenden Sie ein Tool wie System Explorer, um herauszufinden, über die javaw.exe, die von Eclipse verwendet wird. –

0

Hier sind zwei JVMs beteiligt; der eine, in dem Eclipse läuft, und der eine (oder mehrere), in dem die verschiedenen Projekte in Ihrem Arbeitsbereich laufen. Ich denke, diese Nachricht bezieht sich auf die JVM, in der Eclipse läuft. Die Lösung ist also nicht in den "Installierten JREs" enthalten "Abschnitt in Eclipse. In Windows ist die JVM in Ihrem Pfad.

+0

Ich habe beide Umgebungsvariablen (Path und JAVA_HOME) bearbeitet - aber keine Änderungen. Die Fehlermeldung ist immer noch da. –

0

Möglicherweise findet Java seine Dateien mit der Umgebungsvariablen JAVA_HOME. Versuchen Sie, es zu ändern C:\Programme\Java\jdk1.6.0_20

In Windows XP ist dies unter Systemsteuerung, System, Registerkarte Erweitert, Umgebungsvariablen Schaltfläche.

4

Ich hatte das gleiche Problem mit Eclipse-Berichterstattung, dass es in der JRE (Win7 x64, 32 Bit JDK 1.6 Update 21) ausgeführt wurde, obwohl ich angegeben, dass es das JDK verwenden soll.

Ich schließlich gelöscht JRE6, die optional mit dem JDK installierbar ist und die Nachricht verschwunden.

Jemand mit einem tieferen Verständnis von Windows muss erklären, warum es das tut, aber es ignoriert anscheinend die Einstellung eclipse.ini sowie JAVA_HOME und startet Eclipse in der JRE trotzdem.

Mein 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 
0

Versuchen Sie, diese Zugabe:

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

Unglaublich, die Lösung für dieses Problem nichts zu tun hat mit Schrägstrichen, bac kslashes, Zitate, Leerzeichen, jre, jdk, Jvm, javaw, ....

Die Antwort ist, dass Sie einen Zeilenumbruch zwischen

-vm

und dem Weg haben haben.

So in der eclipse.ini Datei:

dies nicht funktionieren:

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

aber das wird:

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

Danke, das hat den Trick für mich gemacht! –

+0

Dies funktioniert nicht ... – Prathap

+0

Ja, aber Sie müssen auch auf die Position des -vm achten, müssen nach -vmargs sein. Sehen Sie sich meine Antwort oben für eine vollständige Erklärung an. –

0

Deinstallieren Sie die JRE NUR das JDK verlassen und private JRE hinter . Führen Sie Eclipse aus, und es wird sich sofort beschweren, dass es keine JRE oder JDK finden kann (vorausgesetzt, dass die Option -vm in Ihrem ini fehlt oder falsch ist).

Jetzt den -VM-Pfad zu javaw in Ihrer Ini-Datei, speichern und Eclipse lädt nun das JDK.

Ich ging tatsächlich und alles Java deinstalliert und dann JDK 6 neu installiert und dabei die öffentliche JRE und die Datenbank Teil der Installation.

+0

Was würde die Deinstallation des JDK erreichen? Warum nicht einfach den -vm-Pfad aktualisieren, ohne ihn zu deinstallieren? – GargantuChet

2

Setzen Sie diese Zeilen am Anfang der Datei eclipse.ini:

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

MARIO-Ortegón für dieses Problem ist die richtige Antwort beantwortet. Sie müssen nur die Zeile "-vm C: \ java \ jdk \ bin \ javaw.exe" unter dem Abschnitt "product org.eclipse.epp.package.jee.product" in der Datei "eclipse.ini" verschieben. wie folgt: -Produkt org.eclipse.epp.package.jee.product -vm C: \ java \ jdk \ bin \ javaw.exe speichern und starten Sie die Eclipse. Der Fehler wird weg sein.

0

Die Deinstallationsmethode ist das einzige, was für mich funktionierte. Keine Menge von -vm Magie hat es möglich gemacht, bis ich nur das JDK installiert hatte.

0

Ich hatte das gleiche Problem, aber löste es. Fügen Sie die Option -vm als erste Zeile in Ihrer Datei eclipse.ini hinzu und es funktioniert.

+1

Damit ignorieren Sie eigentlich alle -vmargs, was letztendlich dazu führt, dass die gesamte Eclipse gar nicht startet, z. einige Bedürfnisse -Xmx768m für große Projekte. –

0

Ich hatte auch dieses Problem. Dieses Problem ist verschwunden, wenn ich auf Eclipse Indigo aufrüste. Versuchen Sie es mit der höheren Version.

+1

Sie erreichen das Update, indem Sie mit Glück auf Indigo aktualisieren. Überprüfen Sie meine Antwort oben. –

10

Ich denke, diese Antworten sind erforderlich bei der Bearbeitung der eclipse.ini oder STS.ini Dateien:

Viele Leute machen diese Fehler, weil sie bestimmte Annahmen getroffen werden (was nicht korrekt ist):

  1. Fehler # 1: Schreiben Sie die Parameter in der gleichen Zeile. Im Gegensatz zur JVM-Befehlszeile erwartet Eclipse, dass alle Parameter in der Datei eclipse.ini in einer anderen Zeile stehen. Einer der häufigsten Fehler ist (was in 2 getrennte Zeilen geschrieben werden soll):

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

  2. Fehler # 2: Schreiben der -vm und -vmargs in der falschen Reihenfolge. Die Reihenfolge ist wichtig. Die -vmargs muss vor die -vm gestellt werden. Warum? Da die -vm angegeben wurde, wird die VM vollständig angegeben und der Rest der -vmargs wird ignoriert.

  3. Fehler # 3: eclipse.ini Angenommen wird das gleiche bleiben, wenn Sie es nicht ändern. Einige Plugins-Installationen haben möglicherweise eine automatische Konfiguration (die nach dem automatischen Neustart die Datei eclipse.ini oder eine andere INI-Konfigurationsdatei ändert, zB STS.ini, wenn Sie beispielsweise die SpringSource Tool Suite verwenden). Sie werden wahllos die Datei -vm anhängen vor dem -vmargs. Überprüfen Sie das doppelte Auftreten von -vm oder -vmargs.

  4. Fehler # 4: Zeigen auf den Weg der JVM, anstelle der binären wenn -VM angibt. Eclipse erwartet die Java JVM-Binärdatei, nicht nur den JAVA_HOME-Pfad, z. -vm c: /Java/jdk1.6.0_31/bin/javaw.exe nicht nur -vm c: /Java/jdk1.6.0_31

Für die ursprüngliche Frage, so scheint es, die Fehler # 2 ist die Ursache. Anstelle der einen, sollten Sie die -vm bis zum Ende bewegen, nach -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 
+3

eigentlich .. wenn ich -vm nach -vmargs habe, wird es durch -vmargs ersetzt, was man sehen kann, wenn man sich die Laufzeitkonfiguration anschaut. Es funktioniert nur, wenn ich -vm vor -vmargs, nach -product habe. Eclipse Helios verwenden. – eis

+2

Kepler, vm kann nicht initialisiert werden, wenn die Option -vm nach -vmargs ist – Gab

0

Überprüfen Sie die installierte JRE Einstellung von Eclipse. Es sollte auf JDK und nicht auf JRE verweisen. Obwohl es ein JRE-Setup ist. Denken Sie daran, JDK enthält JRE und wenn Maven läuft versucht es JDK meist tools.jar zu finden.