41 Stimmen

m2eclipse: Eclipse läuft in einer JRE, aber ein JDK ist erforderlich

Ich habe ein Problem mit m2eclipse (0.10.0) zusammen mit eclipse galileo (Build id: 20090920-1017).

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

  • Unter Fenster>Einstellungen>Java>Installierte JREs habe ich JDK1.6.0_20 ausgewählt. 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>Einstellungen>Java>Installierte JREs>Ausführungsumgebungen wählte ich JavaSE-1.6 und wählte JDK1.6.0_20[perfekte Übereinstimmung]. FUNKTIONIERT NICHT.

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

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

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

  • Nachdem ich all diese Dinge getan hatte, entfernte ich das m2eclipse-Plugin und installierte es noch einmal. FUNKTIONIERT NICHT.

Neue Ideen, die ich ausprobiert habe:

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

  • Ich habe in der 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

Gibt es jemanden, der andere Ideen hat? Jede Hilfe ist willkommen.

Ich danke Ihnen vielmals. GernoK

26voto

Jeremy Goodell Punkte 17417

Unglaublich, die Lösung dieses Problems hat nichts mit Schrägstrichen, Backslashes, Anführungszeichen, Leerzeichen, jre, jdk, jvm, javaw, .... zu tun.

Die Antwort ist, dass Sie einen Zeilenumbruch zwischen

-vm

und den Weg.

Also in der Datei eclipse.ini:

WIRD DIES NICHT FUNKTIONIEREN:

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

ABER DIESES WIRD:

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

13voto

Ran Azad Punkte 131

Die Antwort von MARIO-ORTEGON ist die richtige Antwort auf dieses Problem. Das Einzige, was Sie tun müssen, ist, diese Zeile "-vm" zu verschieben C:\java\jdk\bin\javaw.exe " unter dem Abschnitt -product org.eclipse.epp.package.jee.product in eclipse.ini. wie folgt: -product org.eclipse.epp.package.jee.product -vm C:\java\jdk\bin\javaw.exe Speichern Sie und starten Sie die Eclipse neu. Der Fehler wird verschwinden.

11voto

Daniel Baktiar Punkte 1692

Ich denke, diese Antworten werden bei der Bearbeitung der eclipse.ini o STS.ini Dateien:

Viele Menschen machen diese Fehler, weil sie von bestimmten Annahmen ausgehen (die nicht richtig sind):

  1. Fehler Nr. 1: Schreiben der Parameter in dieselbe Zeile . Im Gegensatz zur JVM-Befehlszeile erwartet Eclipse, dass jeder Parameter in einer eigenen Zeile in der Datei eclipse.ini steht. Einer der häufigsten Fehler ist (der in 2 getrennten Zeilen geschrieben werden sollte):

    -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 . Warum? Denn sobald die -vm angegeben wurde, wird die VM vollständig spezifiziert und der Rest der -vmargs wird ignoriert.

  3. Fehler #3: Annehmen, dass die eclipse.ini gleich bleibt, wenn man sie nicht ändert . Einige Plugins haben eine Autokonfiguration (die nach dem Neustart automatisch die eclipse.ini-Datei oder eine andere .ini-Konfigurationsdatei ändern, z.B. STS.ini, wenn Sie z.B. SpringSource Tool Suite verwenden), sie fügen wahllos die -vm vor der -vmargs . Prüfung auf doppeltes Vorkommen von -vm o -vmargs .

  4. Fehler Nr. 4: Verweis auf den Pfad der JVM anstelle der Binärdatei bei der Angabe von -vm . Eclipse erwartet das Java JVM-Binary, nicht nur den JAVA_HOME-Pfad, z. B. -vm c:/Java/jdk1.6.0_31/bin/javaw.exe nicht nur -vm c:/Java/jdk1.6.0_31

Was die ursprüngliche Frage betrifft, so scheint die Fehler #2 ist die Ursache. Anstelle der einen sollten Sie die -vm bis zum Ende, 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

4voto

Crutis Punkte 49

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

Ich habe endlich JRE6 gelöscht das optional mit dem JDK installiert werden kann, und die Meldung verschwand.

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

Meine 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

2voto

Mario Ortegón Punkte 18280

Ich glaube, Sie müssen die ausführbare Datei explizit zum Argument -vm hinzufügen:

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

Was die ini-Datei betrifft, so kommt es auf den vollständigen Inhalt an. Was enthält Ihre ini-Datei?

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X