Eclipse-Fehler: 'Java Virtual Machine konnte nicht erstellt werden'

211

Beim Starten von Eclipse Helios unter Windows 7 wird folgende Fehlermeldung angezeigt:

Fehler beim Erstellen der Java Virtual Machine

Geben Sie hier die Bildbeschreibung ein

Meine eclipse.ini sieht wie folgt aus:

-startup
plugins/org.eclipse.equinox.launcher_1.1.0.v20100507.jar
-vm
P:\Programs\jdk1.6\bin
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.1.0.v20100503
-product
org.eclipse.epp.package.jee.product
--launcher.defaultAction
openFile
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
512m
--launcher.defaultAction
openFile
-vmargs
-Dosgi.requiredJavaVersion=1.5
-Xms120m
-Xmn100m
-Xmx1024m

Mein JAVA_HOME ist soweit ich das beurteilen kann richtig eingestellt. Wie kann ich das beheben?

Dinge, die ich bisher versucht habe:

  1. Hinzufügen des vollständigen Pfads zu javaw.exe -vm P:\Programs\jdk1.6\bin\\bin\javaw.exe
  2. -vmOption insgesamt entfernen
  3. Das Entfernen --launcher.XXMaxPermSizebehebt das Problem, verursacht jedoch Permgen-Fehler
  4. Das Entfernen des Werts 512von --launcher.XXMaxPermSizebehebt das Problem, verursacht jedoch Permgen-Fehler
  5. Das Reduzieren -Xmxauf 512mbehebt auch das Problem.

Warum kann ich '1024m' nicht für '-Xmx' und '--launcher.XXMaxPermSize' verwenden?

Maro
quelle
18
Dies bedeutet, dass jvm den erforderlichen Speicherplatz (1024 + 512) auf Ihrem Computer nicht zuweisen kann.
Kane
Nur um zu bestätigen, dass ich das richtig verstehe. Die JVM wird die von (XXMaxPermSize + Xmx)
Maro
2
Beim Starten von vm wird der Speicher mit der maximalen Heap-Größe (angegeben durch -Xmx) nicht sofort erstellt. Es würde jedoch sicherstellen, dass die maximale Heap-Größe zur Laufzeit beim Starten von vm erstellt werden kann. Wenn nicht, kann die VM nicht erstellt werden.
Kane
Ich habe keine Ahnung warum, aber auf meinem Computer hat Eclipse dieses Problem nur, wenn Dragon NaturallySpeaking ausgeführt wird. RonQis Lösung hat bei mir funktioniert.
Rob
@rob: Das liegt wahrscheinlich daran, dass Dragon viel Speicher benötigt. Die Ursache für dieses Problem scheint zu sein, dass die JVM nicht genügend Speicher zuweisen kann.
Stijn de Witt

Antworten:

80

Versuchen Sie, die -vm P:\Programs\jdk1.6\binLinien zu entfernen .


Auch eine allgemeine Empfehlung: setzen -Dosgi.requiredJavaVersion=1.6, nicht 1.5.

Matt Ball
quelle
52
In eclipse.ini wurde das Problem für mich behoben, indem ich -Xmx von 1024 auf 512 m reduzierte. Das System hatte 1 GB RAM.
Dexter
3
@dexter, danke, es hat bei mir funktioniert, indem Xmx
danisupr4
Fügen Sie für macos eclipse-2020 Folgendes hinzu: "- vm" "/Library/Java/JavaVirtualMachines/jdk1.8.0_172.jdk/Contents/Home/bin/java" unter "--launcher.appendVmargs" in eclipse.ini.
Clark Yu
283

1. Öffnen Sie die eclipse.iniDatei aus Ihrem Eclipse-Ordner (siehe Abbildung unten).

eclipse.ini

2. Öffnen Sie eclipse.iniin Notepadoder einer anderen text-editorAnwendung. Suchen Sie die Zeile -Xmx256m(oder -Xmx1024m). Ändern Sie nun den Standardwert 256m(oder 1024m) in 512m. Sie müssen auch die genaue installierte Java-Version (1.6 oder 1.7 oder andere) angeben.

maximale Größe

So was:

-Xmx512m
-Dosgi.requiredJavaVersion=1.6

ODER

-Xmx512m
-Dosgi.requiredJavaVersion=1.7

ODER

-Xmx512m
-Dosgi.requiredJavaVersion=1.8

Dann funktioniert es gut für mich.

Akhil Jain
quelle
8
Dies funktioniert nur, wenn das Problem war nicht genug Speicher , und wenn Sie senken die Werte in eclipse.ini. Wenn Sie sie auslösen, ist es nur wahrscheinlicher, dass dieses Problem auftritt.
Stijn de Witt
2
Vielen Dank, ich habe diesen Wert erhöht und es hat gut funktioniert. Ich denke, es ist passiert, weil ich JDK aktualisiert habe.
Pervez Alam
1
Das hat auch bei mir tatsächlich funktioniert - NB: ewclipse hat einfach aufgehört zu arbeiten - ich hatte mich -Xmx1024mumgedreht Xmx512mund gearbeitet. Anscheinend war nicht genug Speicher vorhanden (?)
Mr_and_Mrs_D
In meinem Fall hat es nicht funktioniert, den Wert von 1024 auf 512 zu ändern, aber als ich ihn wieder auf den vorherigen Wert geändert habe, dh 1024, hat es funktioniert.
TaRan LaYal
1
Wow .. Für Eclipse Mars habe ich -Xmx1024m in -Xmx512m geändert und es hat funktioniert!
Umesh Patil
111

Versuchen Sie hinzuzufügen

-vm
D:\Java\jdk1.6.0_29\bin\javaw.exe

Zu Ihrer Information : Siehe Sunblog

Für andere, die möglicherweise Probleme mit Java 7 haben, gemäß Eclipse Wiki - eclipse.ini vm_value (Windows-Beispiel)

Dies funktioniert möglicherweise nicht auf allen Systemen. Wenn beim Starten der Eclipse der Fehler "Java wurde gestartet, aber Exit-Code = 1 zurückgegeben" auftritt, ändern Sie das Argument -vm so, dass es auf jvm.dll verweist

z.B

-vm
C:\Program Files\Java\jre7\bin\client\jvm.dll

Beachten Sie auch das

Die Option -vm muss vor der Option -vmargs auftreten, da alles nach -vmargs direkt an die JVM übergeben wird

RonQi
quelle
Dies funktioniert hervorragend, aber ich bevorzuge die Verwendung von -vm C: \ Programme (x86) \ Java \ jre6 \ bin \ javaw.exe, da der JRE-Pfad mit größerer Wahrscheinlichkeit stabil bleibt, insbesondere wenn Sie eine einzelne Eclipse-Installation gemeinsam nutzen mehrere Maschinen / VMs.
Rob
Es hat bei mir funktioniert, aber während des Ladens wird Eclipse an org.eclipse.debug.core gehängt
Rahul Razdan
5
+1 Ich habe den bestellenden Teil verpasst. Alle anderen Plätze auf dem Netz , das sie über die -vm Argument sprechen , aber sie vernachlässigen zu sagen , dass es vor -vmargs auftreten müssen
demongolem
Ich hatte das gleiche Problem bei der Installation des Android SDK mit Eclipse und dies hat es behoben. Vielen Dank !
Codingscientist
Für die Aufzeichnung verwende ich Windows 7 Home Premium und Server JVM 1.8.0_05, die zweite Methode, indem ich auf die für mich funktionierende DLL zeige, die erste Methode nicht.
Ironluca
26

Ich weiß, dass dies jetzt ziemlich alt ist, aber ich hatte gerade das gleiche Problem und das Problem war, dass ich zu viel Speicher für die Sonnenfinsternis zugewiesen habe, den es nicht erreichen konnte. Öffnen Sie also eclipse.ini und verringern Sie die Menge an Speicher, die zugewiesen wird. -Xmx XXMaxPermSizeIch habe meine in -Xmx512mund geändertXXMaxPermSize256m

Popeye
quelle
Ist das auf einer 32-Bit-Maschine? Denn ich glaube, es gibt eine Grenze für die Menge an Speicher, die Sie unter 32-Bit-Fenstern verwenden können
Maro
@ Maro Ja, das war es. Auf der Suche nach einem Upgrade auf 64-Bit.
Popeye
1
Arbeitete für mich, ersetzte 768m durch 512m auf -Xmx Parameter.
Tartak
Ich bin auf einem 64-Bit-Computer mit 8 GB Speicher, benutze aber immer noch -Xmx = 768m in Kombination mit -XX: PermSize = 256m und -XX: MaxPermSize = 512m erwies sich als zu viel. Es ist ein 32-Bit-Java, daher kann es "nur" 4 GB verwenden, aber das Maximum scheint in der Praxis viel niedriger zu sein. Ich würde erwarten, dass dies 1024 m zum Starten und maximal 1280 m benötigt ...
Stijn de Witt
Vielen Dank, ich bin sicher, dass ich es vor ein paar Monaten auf 1024 geändert habe, um das Problem zu umgehen. Die eigentliche Antwort auf diese Frage ist der Wechsel zu Android Studio, es ist viel schöner. Ich bin nur zu Eclipse zurückgekehrt, weil ich keine meiner älteren Apps migriert hatte und etwas tun musste.
Ryan Heitner
18
  1. Öffnen Sie die eclipse.iniDatei aus Ihrem Eclipse-Ordner.

  2. Es hat einige Add-On-Konfiguration. Finde die Linie –launcher.XXMaxPermSize. Entfernen Sie nun den Standardwert 256m und speichern Sie ihn.

Furqi
quelle
18

Ich habe eclipse.ini entfernt . Ich bin auf dieses Problem gestoßen und habe es durch Entfernen der INI- Datei behoben.

Monnster
quelle
12
  1. Öffnen Sie den Ordner mit Eclipse.exe und suchen Sie die Datei eclipse.ini
  2. Ersetzen Sie -vmargs durch Ihren aktuellen realen Pfad von javaw.exe: * -vm "c: \ Programme \ Java \ jdk1.7.0_07 \ bin \ javaw.exe" *

    -startup
    plugins/org.eclipse.equinox.launcher_1.3.0.v20120522-1813.jar
    --launcher.library
    plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.1.200.v20120522-1813
    -product
    com.android.ide.eclipse.adt.package.product
    --launcher.XXMaxPermSize
    256M
    -showsplash
    com.android.ide.eclipse.adt.package.product
    --launcher.XXMaxPermSize
    256m
    --launcher.defaultAction
    openFile
    **-vm “c:\Program Files\Java\jdk1.7.0_07\bin\javaw.exe”** 
    -Dosgi.requiredJavaVersion=1.6
    -Xms40m
    -Xmx768m
    -Declipse.buildId=v21.1.0-569685
    
Ein Garhy
quelle
9

Sie können dieses Problem auch lösen, indem Sie den Wert "256m" unter der Zeile "-launcher.XXMaxPermSize" entfernen.

Yasir Ali
quelle
Hat für mich gearbeitet. Auch wenn dieser Wert vorhanden war, funktionierte er nach dem Abmelden und Anmelden von Windows einwandfrei.
Amar
9

Ich habe dafür eine sehr einfache Lösung gefunden. Löschen Sie einfach die eclipse.iniDatei, aber sichern Sie zuerst. Ich hatte das gleiche Problem viele Male und schließlich habe ich es gelöscht und ich habe das Problem nicht mehr.

Es erhöhte auch die Ladezeit. Jetzt startet meine Eclipse schneller als früher.

user3739970
quelle
Nach dem Löschen der eclipse.ini erhalte ich diesen Fehler, als versucht wurde, Eclipse zu starten => Der Eclipse Execute Launcher konnte seine gemeinsam
genutzte Begleitbibliothek
genial! Ich habe so viele Schritte versucht, um die INI-Datei zu bearbeiten. Aber diese Antwort ist großartig. Es klappt. Prost!
Rand
7

In der STS.confDatei müssen Sie zwei wichtige Dinge überprüfen, um ein Problem beim Erstellen / Zuweisen von JVM zu vermeiden

1. Geben Sie den genauen Installationsort für jdk an:

--vm C:\Program Files\Java\jdk1.7.0_01\jre\bin\javaw.exe

2. Sie müssen die genaue installierte Java-Version angeben:

--Dosgi.requiredJavaVersion=1.7

3. Versuchen Sie, die Speichergröße zu reduzieren:

--XX:MaxPermSize=256m
Rajachinnappan
quelle
7
  1. Öffnen Sie die Datei ecplise.ini, die sich im Eclipse-Installationsordner befindet.

  2. Suchen und ersetzen Sie die Zeile -vmargs durch -vm D: \ jdk1.6.0_23 \ bin \ javaw.exe ODER entfernen Sie einfach die Zeile -vmargs und speichern Sie sie. Jetzt wird das Problem gelöst

Rajas
quelle
2
Danke @Rajas, entferne einfach die Zeile -vmargs und speichere, es hat bei mir funktioniert
Bernauer
5

Nachdem Sie die oben beschriebene Lösung zur Reduzierung des Arbeitsspeichers ausprobiert haben, beginnt Eclipse zu arbeiten, bleibt jedoch jedes Mal hängen, während die Plugins aus dem Arbeitsbereich speziell unter geladen werden org.eclipse.debug.core.

Ich habe hier die Lösung gefunden, Eclipse hängt am Begrüßungsbildschirm und möchte sie teilen. Hoffentlich kann es auch anderen helfen.

Rahul Razdan
quelle
anders als alles andere, was ich in der letzten Stunde versucht habe, hat DAS funktioniert, danke!
Justin T.
Toter Link, hast du noch eine Chance?
Adam Parkin
4

Stellen Sie sicher, dass eclipse.ini nicht mehrere Einträge hat und vm-Einträge vor vmargs verwendet:

-vm
  D:/java/jdk1.8.0_65/bin/javaw.exe
-vmargs
-Dosgi.requiredJavaVersion=1.8
[email protected]/eclipse-workspace
-XX:+UseG1GC
-XX:+UseStringDeduplication
-Dosgi.requiredJavaVersion=1.8
-Xms256m
-Xmx1024m
Sunil Shakya
quelle
3

Probier diese:

-startup plugins/org.eclipse.equinox.launcher_1.1.1.R36x_v20101122_1400.jar 
--launcher.library plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.1.2.R36x_v20101222 
-showsplash org.eclipse.platform 
--launcher.XXMaxPermSize 256m 
--launcher.defaultAction openFile 
-vm F:\Program Files\jdk1.6\bin\javaw.exe 
-vmargs 
-Xms512m 
-Xmx512m 
-XX:+UseParallelGC 
-XX:PermSize=256M 
-XX:MaxPermSize=512M
Brahma Reddy
quelle
3

Schnelle Lösung:

Wechseln Sie -Xmx1024mzu -Xmx512min eclipse.ini (Datei befindet sich auf derselben Ebene, auf der sie eclipse.exevorhanden ist). Und es wird wie ein Zauber wirken.

Sumoanand
quelle
3

Die einfache Möglichkeit, dieses Problem zu beheben, besteht darin, Ihre Datei eclipse.ini zu löschen oder umzubenennen . Versuchen Sie es zuerst. Wenn diese Methode Ihr Problem nicht löst, versuchen Sie die unten beschriebenen Lösungen.

Andere Möglichkeiten, dies zu beheben:

Lösung 1

Fügen Sie der Datei eclipse.ini eine Zeichenfolge hinzu , die ein Ziel der javaw.exeDatei ändert . Die Hauptsache ist, dass diese Zeichenfolge über der Zeichenfolge "-vmargs" platziert werden muss!

-vm
C:\Program Files\Java\jdk1.6.0_22\bin\javaw.exe 

Lösung 2

Entfernen Sie den Wert –launcher.XXMaxPermSize, wie 256m .

Lösung 3

Entfernen oder verringern Sie die Werte von Xms und Xmx:

-Xms384m 
-Xmx384m
Dimon
quelle
3

Dies kann funktionieren:

Öffnen Sie die eclipse.iniDatei und fügen Sie sie am Ende der Zeilen unter die Zeilen ein.

-vmargs
-Xms40m
-Xmx512m
-XX:MaxPermSize=256m
UdayKiran Pulipati
quelle
3

Nach dem Hinzufügen von -vm in eclipse.ini wie unten gezeigt funktionierte für mich. Fügen Sie es hinzu, bevor -vmargsSie es nicht entfernen

-vm
C:\apps\Java\jdk1.8.0_92\bin\javaw.exe
-vmargs

Es gab ein JDK-Update, das dieses Problem verursachte.

Dinesh M.
quelle
2

Das hat bei mir funktioniert:

Ich habe alle anderen speicherintensiven Anwendungen auf meinem Windows 7-Computer geschlossen. Und ich habe versucht, Eclipse zu öffnen, und voila, es hat funktioniert.

amalBit
quelle
2

Manchmal ist es nicht deine eclipse.ini ; Es ist Ihr JDK, das abgestürzt ist. Sie können dies überprüfen, indem Sie den folgenden Befehl in eine Eingabeaufforderung schreiben:

c:\> java -version

Wenn dieser Befehl den folgenden Fehler anzeigt:

Error occurred during initialization of VM

java/lang/NoClassDefFoundError: java/lang/Object

Dann deinstallieren Sie zuerst JDK und installieren Sie es neu.

Eclipse wird wieder in Aktion sein;) Wie heute habe ich das gleiche Problem, und das Obige wird von Itachi Uchiha vorgeschlagen .

TheLittleNaruto
quelle
2

Konfrontiert mit dem Problem, als mein Eclipse-Proton nicht starten konnte. Fehler "Fehler beim Erstellen der virtuellen Java-Maschine"

Unten zur Datei eclipse.ini hinzugefügt

-vm
C:\Program Files\Java\jdk-10.0.1\bin\javaw.exe
vkg
quelle
1

Das Hinzufügen dieses Problems hat das Problem für mich behoben:

-vm

D:\Java\jdk1.6.0_29\bin\javaw.exe
ahmedmzl
quelle
1

Reduzieren Sie die Parametergröße auf -256

Siehe meine Datei eclipse.ini

    -startup
   plugins/org.eclipse.equinox.launcher_1.2.0.v20110502.jar
   --launcher.library
  plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.1.100.v20110502
  -product
   org.eclipse.epp.package.jee.product
   --launcher.defaultAction
   openFile
   --launcher.XXMaxPermSize
   256M
  -showsplash
   org.eclipse.platform
   --launcher.XXMaxPermSize
   256M
  --launcher.defaultAction
  openFile
  -vmargs
  -Dosgi.requiredJavaVersion=1.6
  -Xms40m
  -Xmx512m
Youdhveer
quelle
1

Die richtige Lösung für Ihr Problem besteht darin, die Zeile -vm hinzuzufügen, die auf die Datei jvm.dll Ihres Java-Ordners in ini fie verweist.

-vm
C:\Program Files\Java\jre1.8.0_202\bin\server\jvm.dll
/*there is no dquote for path, and path points to right java version folder mentioned in ini file*/

Wenn die oben genannte Korrektur nicht erfolgreich ist, versuchen Sie nichts anderes. Die meisten Ratschläge in diesem Thread sind falsch. Einige dieser Hacks funktionieren möglicherweise vorübergehend oder auf bestimmten Computerkonfigurationen, aber der Inhalt von eclipse.ini ist weder trivial noch willkürlich. Die maßgebliche Referenz finden Sie auf dieser [Wiki-Seite]: https://wiki.eclipse.org/Eclipse.ini#Specifying_the_JVM , in der der Inhalt der Datei erläutert wird. Beachten Sie auch die Links unter Siehe auch am Ende dieser Seite, um weitere Informationen zu Dingen wie der Größe des Heapspeichers usw. zu erhalten. Löschen Sie eclipse.ini NIEMALS. Es ist auch nicht ratsam, die Optionen -vm oder Xmx zu entfernen. Wenn Sie dies tun, bitten Sie um Ärger.

Hier sind Referenzen von der Wiki-Seite, die sich auf Ihr Problem beziehen:

Referenz_1

Referenz_2

Vishwesh Mangalore
quelle
1
Ein einfaches, aber wichtiges Pint: -vmmuss vor der -vmargs Option in eclipse.ini platziert werden.
Woodz
0

Für mich wurde es gelöst, indem der JDK-Bin-Pfad in der Umgebungsvariablen Path geändert wurde. Fügen Sie den JDK-Bin-Pfad mit jre / bin / client / jvm.dll unter JDK home ein.

Srihari Karanth
quelle
0

SCHRITTE ZUR LÖSUNG DES PROBLEMS: -

  1. Öffnen Sie die Datei eclipse.ini in Ihrem Eclipse-Ordner.

  2. Es hat einige Add-On-Konfiguration. Suchen Sie die Zeile –launcher.XXMaxPermSize.It wird die letzte Zeile in dieser Datei sein. Entfernen / löschen Sie nun den Standardwert 256m und speichern Sie ihn.

Nikhil Kumar
quelle
0
-vm D:\Java\jdk1.6.0_29\bin\javaw.exe
Ein Mann
quelle
0

Ich hatte das gleiche Problem und fand die Lösung. Es gibt Probleme bei der Zuweisung von MaxPermSize. Wenn Sie versuchen, mehr als den freien Speicherplatz Ihres Computers zuzuweisen, wird dieser Fehler in meinem Problem angezeigt. Versuchen Sie also, MaxPermSize zu reduzieren.

Ich denke, es wird Ihnen helfen, Ihr Problem zu lösen.

Kanani Mohit
quelle
0

Alle diese Lösungen haben mich gescheitert. Dies passierte mir aus heiterem Himmel, nachdem ich Eclipse sechs Monate lang verwendet hatte. Es scheint, dass mein JDK irgendwie beschädigt wurde.

Meine mögliche Lösung bestand darin, ein neueres JDK herunterzuladen und mein JAVA_HOME entsprechend zu aktualisieren, in meinem Fall von jdk1.6.0_37 auf jdk1.6.0_43.

Ryan Heitner
quelle
0

@ Maro Bei mir hat es ganz einfach geklappt!

Nachdem ich die Fehlermeldung erhalten hatte, führte ich 'eclipse c .exe' an einer Eingabeaufforderung aus. Dies öffnete Eclipse. Andererseits habe ich es mit 'eclipse.exe' versucht und jetzt funktioniert es gut und gut.

Leider gab es dafür keinen technischen Grund.

Satyendra
quelle