Warum müssen Sie das Argument -vm angeben? Lassen Sie die INI-Datei in Ruhe und setzen Sie stattdessen die Umgebungsvariable JAVA_HOME.
JamesB
Haben Sie es %JAVA_HOME%\bin\javaw.exemit einem Schrägstrich versucht ? Haben Sie die JAVA_HOMEEigenschaft des Umweltsystems festgelegt?
Braj
@Braj ja, ich habe die Umgebungsvariable in den erweiterten Eigenschaften des Computers festgelegt
user310291
Schauen Sie sich meine Antwort an, Sie müssen die Umgebungsvariable nicht festlegen. Es funktioniert gut für mich.
Braj
Antworten:
170
Hast du es versucht. Setzen Sie nicht alles in eine Zeile.
-vm
C:\Program Files\Java\jdk1.6.0_07\bin\
Sie müssen den Ordner ablegen, der die ausführbare Java- oder Java-Datei enthält. Unter Ubuntu 18 mit Eclipse 4.7.1 konnte ich es zum Laufen bringen mit:
Übrigens ist es Eclipse, die ich von der Android Dev Site heruntergeladen habe
user310291
6
Ich weiß , das Thema ist alt, aber ich hatte das gleiche Problem, bei dem keine der Lösungen hier gearbeitet erwähnt hatte - aber ich DID es schließlich lösen. Beachten Sie zunächst, dass die Verwendung der Windows-Umgebungsvariablen "JAVA_HOME" die bevorzugte Methode ist, aber -vm auch funktioniert. Die Ursache / Lösung war: Ich habe die 64-Bit-Version von Eclipse verwendet, aber auf eine 32-Bit-JRE verwiesen - nach der Installation und der Verweisung auf die 64-Bit-JRE hat alles gut funktioniert. Ich dachte, ich würde das teilen.
NYCBilly
Danke NYCBilly. Es ist sehr wichtig, die Version zu überprüfen (32-Bit oder 64-Bit).
Mohamed El-Beltagy
1
Verwenden Sie Schrägstriche in der Datei eclipse.ini. In diesem Fall müssen Sie (auch unter Windows) nicht dem Pfad entkommen, z. B. C: / Programme / Java / jdk1.6.0_07 / bin
johnm
Nachdem die beiden obigen Zeilen hinzugefügt wurden, funktionierte es. Mein Java-Home wurde für andere Zwecke als 1.6 konfiguriert, aber ich wollte Eclipse Neon IDE verwenden, also funktionierte der Trick.
Janath
50
Fügen Sie den Eintrag von vm über den vm-Argumenten hinzu, sonst funktioniert es nicht ..! dh `
Dies funktioniert, die Reihenfolge der Argumente ist wichtig (dh: wenn das -vm am Ende der Datei hinzugefügt wird)
Enrique San Martín
1
Stellen Sie außerdem sicher, dass sich der Pfad in der nächsten Zeile von -vm und über --launcher.appendVmargs befindet, da er sonst nicht funktioniert. -vm und Pfadraum getrennt, es entsteht ein Problem.
Neha Vari
16
tl; dr
Die -vmOption muss erfolgen , nachdem die anderen Eclipse - spezifischen Optionen (wie zB -product, --launcher.*usw.), aber vor der -vmargsWahl, da alles nach -vmargswird direkt an die JVM übergeben. Fügen Sie die -vmOption in einer eigenen Zeile und den Pfad zu Ihrer ausführbaren JDK- Datei in der folgenden Zeile hinzu. z.B
Der Pfad befindet sich in einer neuen Zeile unterhalb der -vmOption
Es ist nicht erforderlich, Zeichen zu maskieren oder Schrägstriche zu verwenden (Schrägstriche sind in Ordnung).
Der Pfad zeigt auf das binVerzeichnis, nicht aufjavaw.exe
Gotcha JAVA_HOME
Wenn Sie in Ihrer eclipse.iniDatei keine virtuelle Maschine angeben , denken Sie möglicherweise, dass die JAVA_HOMEUmgebungsvariable verwendet wird, dies ist jedoch nicht der Fall!
Aus FAQ_How_do_I_run_Eclipse # Find_the_JVM
Eclipse konsultiert NICHT die Umgebungsvariable JAVA_HOME.
Stattdessen wird der Windows-Suchpfad gescannt.
Empfehlung
Sie halten es möglicherweise für eine gute Idee, den Suchpfad zu verwenden, da er flexibel ist.
Dies ist zwar richtig, hat aber auch den Nachteil, dass der Suchpfad durch Installieren oder Aktualisieren von Programmen geändert werden kann.
Daher empfehle ich, die explizite Einstellung in der eclipse.iniDatei zu verwenden.
Eine VM finden
Der Grund, warum Sie das binVerzeichnis und nicht das javaw.exe(wie in vielen anderen Antworten vorgeschlagen) angeben sollten , besteht darin, dass der Launcher dann dynamisch auswählen kann, welcher Weg der beste ist, um die JVM zu starten. Weitere Informationen finden Sie unter Details zum Startvorgang :
In diesem Verzeichnis suchen wir nach: (1) einer default.ee-Datei, (2) einem Java-Launcher oder (3) der gemeinsam genutzten jvm-Bibliothek.
Verfeinerung
Sie können im Konfigurationsdialog überprüfen, welche VM von Ihrer ausgeführten Eclipse-Instanz verwendet wird .
In Eclipse Oxygen gehen Sie zu Hilfe - Über Eclipse - Installationsdetails - Konfiguration
Sie sehen, welchen VM-Pfad Eclipse ausgewählt hat, z.
tl; dr ist ganz falsch. -vmsollte nicht oben in Ihrer eclipse.iniDatei sein. In dieser Dokumentation heißt es: "Die Option -vm muss nach den anderen Eclipse-spezifischen Optionen (wie -product, --launcher. * Usw.), jedoch vor der Option -vmargs auftreten, da alles nach -vmargs direkt an die übergeben wird JVM. " Muss auch auf eine ausführbare Datei verweisen, nicht auf ein Verzeichnis.
Jeff Axelrod
Bearbeitete Antwort per obigem Kommentar.
Jeff Axelrod
1
@ JeffAxelrod danke für die Bearbeitung - das war mir nicht bewusst
TmTron
8
Ich hatte das gleiche Problem, konnte es aber nicht lösen, bis ich Folgendes versuche:
Bitte stellen Sie sicher, dass Sie setzen -vm
Dann drücken Enter
Und dann einfügen C:\Program Files\Java\jdk1.6.0_07\bin\javaw.exe
Vielen Dank! Wer hätte gedacht, dass "ENTER drücken ist wichtig"!? Ich habe der INI-Datei immer -vm <Pfad> hinzugefügt, sie konnte nicht gefunden werden. Sobald ich eine neue Zeile eingefügt habe, hat es funktioniert !! Es war egal, ob wir javaw.exe angegeben haben oder nicht.
Svaratech
6
Wenn Sie einen Mac verwenden, fahren Sie mit den folgenden Schritten fort:
Wechseln Sie in folgendes Verzeichnis:
/sts-bundle/STS.app/Contents/Eclipse
Fügen Sie das Java-Home explizit in die STS.ini-Datei ein:
Sie müssen nicht die Datei javaw.exe angeben, geben Sie den Pfad bis bin an und die Datei javaw.exe wird im Ordner gefunden.
Shubham Arya
3
Alle obigen Antworten haben bei mir nicht funktioniert. Mein Eclipse-Mars ist x64, aber ich muss die Registrierungs-DLL für eine andere Software auf x86 setzen.
Am Ende habe ich -vm Argument am Ende der Verknüpfung gesetzt und das hat den Trick gemacht.
Dieser funktioniert für mich für Spring Tool Suite Eclipse .. Danke
Vinod
2
Auch wenn Ihr% JAVA_HOME% Leerzeichen enthält, können Sie dort direkt die gesamte Zeichenfolge einfügen.
-vm
C:\Program Files(x86)\Java\jdk1.8.0_162\bin
Außerdem müssen Sie javaw.exe nicht im Pfad angeben, sondern nur erwähnen, bis bin javaw.exe im Ordner bin selbst findet. Denken Sie nur daran, dass die von Ihnen bereitgestellte JDK-Version mit der von Ihnen verwendeten Eclipse-Version übereinstimmen sollte.
Wenn Sie ein 64-Bit-Java verwenden, laden Sie 64-Bit-Eclipse herunter. Wenn Sie ein 32-Bit-Java verwenden, laden Sie 32-Bit-Eclipse herunter.
Ich habe Windows 8.1 und mein JDK auch unter "Programme". Für mich hat es funktioniert, den Namen des Ordners durch den 8-stelligen internen MS-DOS-Namen zu ersetzen.
-vm
C:/PROGRA~1/Java/jdk1.8.0_40/bin/javaw.exe
Ich erkannte, was los war, nachdem ich dies in cmd.exe ausgeführt hatte
CD \
DIR P* /X
Es kehrte zurück ...
<DIR> PROGRA~1 Program Files
<DIR> PROGRA~2Program Files(x86)
So können wir herausfinden, wie ein Pfad verwendet wird, der Leerzeichen enthält
Wechseln Sie in Cmd zu C-Laufwerk root. Geben Sie dir / x ein. Dadurch wird der Verzeichnisname mit ~ .use anstelle von Programme in Ihrem JDK-Pfad aufgelistet
%JAVA_HOME%\bin\javaw.exe
mit einem Schrägstrich versucht ? Haben Sie dieJAVA_HOME
Eigenschaft des Umweltsystems festgelegt?Antworten:
Hast du es versucht. Setzen Sie nicht alles in eine Zeile.
-vm C:\Program Files\Java\jdk1.6.0_07\bin\
Sie müssen den Ordner ablegen, der die ausführbare Java- oder Java-Datei enthält. Unter Ubuntu 18 mit Eclipse 4.7.1 konnte ich es zum Laufen bringen mit:
-vm /usr/lib/jvm/java-8-openjdk-amd64/bin -startup plugins/org.eclipse.equinox.launcher_1.4.0.v20161219-1356.jar --launcher.library plugins/org.eclipse.equinox.launcher.gtk.linux.x86_64_1.1.500.v20170531-1133 -vmargs -Xmx2G -Xms200m -XX:MaxPermSize=384m
Wenn es nicht funktioniert, bestätigen Sie bitte, dass Sie die obigen Zeilen zuvor
-vmargs
in hinzugefügt habeneclipse.ini
.quelle
Fügen Sie den Eintrag von vm über den vm-Argumenten hinzu, sonst funktioniert es nicht ..! dh `
quelle
tl; dr
Die
-vm
Option muss erfolgen , nachdem die anderen Eclipse - spezifischen Optionen (wie zB-product
,--launcher.*
usw.), aber vor der-vmargs
Wahl, da alles nach-vmargs
wird direkt an die JVM übergeben. Fügen Sie die-vm
Option in einer eigenen Zeile und den Pfad zu Ihrer ausführbaren JDK- Datei in der folgenden Zeile hinzu. z.B-vm C:\Program Files\Java\jdk1.8.0_161\bin\javaw.exe
Einzelheiten
Anmerkungen
-vm
Optionbin
Verzeichnis, nicht aufjavaw.exe
Gotcha JAVA_HOME
Wenn Sie in Ihrer
eclipse.ini
Datei keine virtuelle Maschine angeben , denken Sie möglicherweise, dass dieJAVA_HOME
Umgebungsvariable verwendet wird, dies ist jedoch nicht der Fall!Aus FAQ_How_do_I_run_Eclipse # Find_the_JVM
Stattdessen wird der Windows-Suchpfad gescannt.
Empfehlung
Sie halten es möglicherweise für eine gute Idee, den Suchpfad zu verwenden, da er flexibel ist.
Dies ist zwar richtig, hat aber auch den Nachteil, dass der Suchpfad durch Installieren oder Aktualisieren von Programmen geändert werden kann.
Daher empfehle ich, die explizite Einstellung in der
eclipse.ini
Datei zu verwenden.Eine VM finden
Der Grund, warum Sie das
bin
Verzeichnis und nicht dasjavaw.exe
(wie in vielen anderen Antworten vorgeschlagen) angeben sollten , besteht darin, dass der Launcher dann dynamisch auswählen kann, welcher Weg der beste ist, um die JVM zu starten. Weitere Informationen finden Sie unter Details zum Startvorgang :Verfeinerung
Sie können im Konfigurationsdialog überprüfen, welche VM von Ihrer ausgeführten Eclipse-Instanz verwendet wird .
In Eclipse Oxygen gehen Sie zu Hilfe - Über Eclipse - Installationsdetails - Konfiguration
Sie sehen, welchen VM-Pfad Eclipse ausgewählt hat, z.
eclipse.vm=C:\Program Files\Java\jdk1.8.0_161\bin\..\jre\bin\server\jvm.dll
quelle
-vm
sollte nicht oben in Ihrereclipse.ini
Datei sein. In dieser Dokumentation heißt es: "Die Option -vm muss nach den anderen Eclipse-spezifischen Optionen (wie -product, --launcher. * Usw.), jedoch vor der Option -vmargs auftreten, da alles nach -vmargs direkt an die übergeben wird JVM. " Muss auch auf eine ausführbare Datei verweisen, nicht auf ein Verzeichnis.Ich hatte das gleiche Problem, konnte es aber nicht lösen, bis ich Folgendes versuche:
-vm
Enter
C:\Program Files\Java\jdk1.6.0_07\bin\javaw.exe
quelle
Wenn Sie einen Mac verwenden, fahren Sie mit den folgenden Schritten fort:
Wechseln Sie in folgendes Verzeichnis:
Fügen Sie das Java-Home explizit in die STS.ini-Datei ein:
-vm /Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home/bin -vmargs
Stellen Sie sicher, dass nicht alle Anweisungen in einer Zeile hinzugefügt werden
quelle
Lösung in: Wie setze ich die Option eclipse.ini -vm?
-vm C: \\ bin
Muss das erste in eclipse.ini sein
quelle
Alle obigen Antworten haben bei mir nicht funktioniert. Mein Eclipse-Mars ist x64, aber ich muss die Registrierungs-DLL für eine andere Software auf x86 setzen.
Am Ende habe ich -vm Argument am Ende der Verknüpfung gesetzt und das hat den Trick gemacht.
D:\mars\eclipse\eclipse.exe -vm "C:\Program Files\Java\jre7\bin\server\jvm.dll"
Laut diesem Dokument funktioniert jvm.dll in einigen Fällen auch.
quelle
Auch wenn Ihr% JAVA_HOME% Leerzeichen enthält, können Sie dort direkt die gesamte Zeichenfolge einfügen.
-vm C:\Program Files (x86)\Java\jdk1.8.0_162\bin
Außerdem müssen Sie javaw.exe nicht im Pfad angeben, sondern nur erwähnen, bis bin javaw.exe im Ordner bin selbst findet. Denken Sie nur daran, dass die von Ihnen bereitgestellte JDK-Version mit der von Ihnen verwendeten Eclipse-Version übereinstimmen sollte.
Wenn Sie ein 64-Bit-Java verwenden, laden Sie 64-Bit-Eclipse herunter. Wenn Sie ein 32-Bit-Java verwenden, laden Sie 32-Bit-Eclipse herunter.
quelle
Windows-vm "C: \ Programme \ Java \ jdk1.6.0_07 \ jre \ bin \ javaw.exe"
quelle
Ich habe Windows 8.1 und mein JDK auch unter "Programme". Für mich hat es funktioniert, den Namen des Ordners durch den 8-stelligen internen MS-DOS-Namen zu ersetzen.
-vm C:/PROGRA~1/Java/jdk1.8.0_40/bin/javaw.exe
Ich erkannte, was los war, nachdem ich dies in cmd.exe ausgeführt hatte
Es kehrte zurück ...
<DIR> PROGRA~1 Program Files <DIR> PROGRA~2 Program Files (x86)
So können wir herausfinden, wie ein Pfad verwendet wird, der Leerzeichen enthält
quelle
Versuchen Sie, mit einem Schrägstrich aus dem Raum zu entkommen
C: \ program \ folder \ \ name \ java \ jdk \ bin
quelle
Wechseln Sie in Cmd zu C-Laufwerk root. Geben Sie dir / x ein. Dadurch wird der Verzeichnisname mit ~ .use anstelle von Programme in Ihrem JDK-Pfad aufgelistet
quelle
-vm C: \ Programme \ Java \ jdk1.6.0_07 \ bin \ javaw.exe
quelle
Installieren Sie Java neu und wählen Sie einen Zielordner ohne Leerzeichen
quelle