Wie setze ich die Option eclipse.ini -vm?

87

Ich habe das Maven- Plugin für Eclipse installiert und dann einen Fehler wie folgt erhalten:

Stellen Sie sicher, dass die Option -vm in eclipse.ini auf ein JDK verweist

Wie verwende ich die -vmOption, um auf mein JDK in eclipse.ini zu verweisen?

Cometta
quelle
1
Stellen Sie sicher , dass -vmkommt vor -vmargs in der eclipse.iniDatei.
KeyMaker00

Antworten:

106

Meine Lösung ist:

-vm
D:/work/Java/jdk1.6.0_13/bin/javaw.exe
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256M
-framework
plugins\org.eclipse.osgi_3.4.3.R34x_v20081215-1030.jar
-vmargs
-Dosgi.requiredJavaVersion=1.5
-Xms40m
-Xmx512m
Cometta
quelle
5
Auf Unix-Systemen verwenden Sie Java anstelle von javaw.exe
jeremyjjbrown
62

Die Datei eclipse.ini muss -vmin der ersten Zeile und in der zweiten Zeile einen Pfad enthalten. Versuchen Sie nicht, alles in einer Zeile zusammenzufassen!

-vm
C:\Program Files\Java\jdk1.6.0_07\bin\javaw.exe
Mike B.
quelle
9
Diese Antwort sparte mindestens eine Stunde
oguzalb
4
Danke für den "Onel Line" Trick. -vm "C:\Program Files\Java\jdk1.6.0_07\bin\javaw.exe"in einer Zeile funktioniert nicht.
rds
46

Alles nach den "vmargs" wird als vm-Argument angesehen. Stellen Sie einfach sicher, dass es vorher ist, was das letzte Stück in eclipse.ini ist.

Richard
quelle
1
Dies ist die fehlende Information sowie das Nicht-Setzen von -vm und des Pfades in dieselbe Zeile
amrcus
1
Beachten Sie auch, dass Sie die INI-Datei nicht im Editor öffnen müssen, da sie sonst falsch angezeigt wird. Öffnen Sie es in einem anderen Editor, z. B. Notepad ++
Amrcus
23

Es gibt eine Wiki - Seite hier .

Es gibt zwei Möglichkeiten, wie die JVM gestartet werden kann: durch Verzweigen in einem vom Eclipse-Launcher getrennten Prozess oder durch Laden im Prozess mithilfe der JNI- Aufruf-API.

Wenn Sie -vmmit einem Pfad zur tatsächlichen Java (w) .exe angeben , wird die JVM in einem separaten Prozess gegabelt. Sie können auch -vmeinen Pfad zur Datei jvm.dll angeben, damit die JVM im selben Prozess geladen wird:

-vm
D:/work/Java/jdk1.6.0_13/jre/bin/client/jvm.dll

Sie können auch den Pfad zum Ordner jre / bin selbst angeben.

Beachten Sie auch, dass das allgemeine Format der Datei eclipse.ini jedes Argument in einer separaten Zeile ist. Es wird nicht funktionieren, wenn Sie "-vm" und den Pfad in dieselbe Zeile setzen.

Andrew Niefer
quelle
13

-vm

C: \ Programme \ Java \ jdk1.5.0_06 \ bin \ javaw.exe

Denken Sie daran, keine Anführungszeichen, egal ob Ihr Pfad Leerzeichen enthält (im Gegensatz zur Befehlszeilenausführung).

Siehe hier: Finden Sie die JRE für Eclipse

Peter Mortensen
quelle
10

Meine Lösung für Ubuntu Linux:

-vm
/home/daniel/Downloads/jdk1.6.0_17/bin
-startup
plugins/org.eclipse.equinox.launcher_1.1.1.R36x_v20101122_1400.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.gtk.linux.x86_64_1.1.2.R36x_v20101019_1345
-product
org.eclipse.epp.package.jee.product
--launcher.defaultAction
openFile
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256m
--launcher.defaultAction
openFile
-vmargs
-Dosgi.requiredJavaVersion=1.5
-XX:MaxPermSize=256m
-Xms40m
-Xmx512m
Daniel
quelle
1
Es ist wichtig, diese neuen Zeilen vor der Deklaration von -vmargs hinzuzufügen. Wie einer der Anfang der Datei.
krzysiek.ste
8

Ich bin nicht sicher, ob sich etwas geändert hat, aber ich habe gerade die anderen Antworten bezüglich der Einträge in "eclipse.ini" für Eclipse Galileo SR2 (Windows XP SR3) ausprobiert und keine hat funktioniert. Java ist jdk1.6.0_18 und die Standardinstallation von Windows. Die Dinge verbesserten sich, als ich "\ javaw.exe" vom Pfad entfernte.

Außerdem kann ich der Erwähnung, die -vmin der INI-Datei in der ersten Zeile stehen muss, nicht genug danken . Ich glaube, das hat mir wirklich geholfen.

Daher beginnt meine Datei eclipse.ini mit:

-vm
C:\Program Files\Java\jdk1.6.0_18\bin

Zu Ihrer Information, meine besondere Notwendigkeit, das Starten von Eclipse mit einem JDK anzugeben, ergab sich aus meinem Wunsch, mit dem m2eclipse-Plugin zu arbeiten.

Hypotechguy
quelle
5

Sie müssen die Datei eclipse.ini bearbeiten, um einen ähnlichen Eintrag zu erhalten:

C:\Java\JDK\1.5\bin\javaw.exe (your location of java executable)
-vmargs
-Xms64m   (based on you memory requirements)
-Xmx1028m

Denken Sie auch daran, dass in eclipse.ini alles, was für Eclipse bestimmt ist, vor der -vmargsZeile und alles für JVM nach der -vmargsZeile stehen sollte.

Peter Mortensen
quelle
4

Das JDK, auf das Sie in Ihrer eclipse.ini verweisen, muss mit der Eclipse-Installation übereinstimmen.

Wenn Sie eine 32- oder 64-Bit-Eclipse ausführen, verwenden Sie ein 32- bzw. 64-Bit-Java-JDK.

activedecay
quelle
3

Ich möchte diesen kleinen Hack teilen:

Ein Klick auf das Eclipse-Symbol zeigte ein Problem mit der JRE an. Also habe ich diesen Befehl in das Zielfeld der Eigenschaften des Symbols eingefügt:

C:\...\eclipse.exe -vm c:\'Program Files'\Java\jdk1.7.0_51\jre\bin\javaw

Ich denke, dass das "'" das Problem mit dem Raum im Pfad lösen würde. Das hat nicht funktioniert. Dann habe ich diesen Befehl ausprobiert:

C:\...\eclipse.exe -vm c:\Progra~1\Java\jdk1.7.0_51\jre\bin\javaw

mit Erfolg

Bruno Alessi
quelle
2

Angenommen, Sie haben einen jre-Ordner, der bin-, lib- usw. Dateien enthält, die von einer Java Runtime-Distribution kopiert wurden, im selben Ordner wie eclipse.ini, den Sie in Ihrer eclilpse.ini festlegen können

-vm
jre\bin\javaw.exe
yuj
quelle
2

Ich weiß, dass es eine Befehlszeilenoption gibt -vm, um den Pfad zur ausführbaren Datei der Java-Laufzeit anzugeben. Dies kann das gleiche sein wie in eclipse.ini.

chrmue
quelle
-1
-startup
plugins/org.eclipse.equinox.launcher_1.3.0.v20140415-2008.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_64_1.1.200.v20140603-1326
-product
org.eclipse.epp.package.jee.product
--launcher.defaultAction
openFile
--launcher.XXMaxPermSize
512M
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
512m
--launcher.defaultAction
openFile
--launcher.appendVmargs
-vmargs
-Dosgi.requiredJavaVersion=1.6
-Xms2000m
-Xmx3512m
Shashi
quelle
Dadurch wird die JVM nicht eingestellt und es werden unnötig große Speichermengen angefordert.
Christopher Schneider