Wenn ich versuche, Eclipse zu öffnen, wird in einem Popup-Dialogfeld Folgendes angezeigt:
Fehler beim Laden der gemeinsam genutzten JNI-Bibliothek "C: /JDK/bin/client/jvm.dll".
Anschließend wird die Eclipse-Kraft geschlossen.
Hier sind einige Punkte, die ich ansprechen möchte:
Das Herunterladen der 32-Bit-Versionen möchte ich nur als allerletzten Ausweg tun.
Was würde vorgeschlagen, um dieses Problem zu lösen?
Du brauchst ein 64-bit
Trio:
64-bit
OS64-bit
Java64-bit
Eclipse32-bit
OS | 32-bit
JDK | 32-bit
Eclipse ( Nur 32-Bit )64-bit
OS | 32-bit
JDK | 32-bit
Eclipse 64-bit
OS | 64-bit JDK
| 64bit
Eclipse ( Nur 64-Bit )Ich hatte mehrere JDKs und JREs installiert.
Jeder von ihnen hatte einen eigenen Eintrag in der PATH-Variablen, alle funktionierten mehr oder weniger.
Nach den PATH-Variablen zu urteilen, waren einige Installationen völlig unbrauchbar, da sie nie verwendet wurden. Natürlich können die "inaktiven" Javas von Eclipse aus manuell referenziert werden, aber das habe ich nie getan, also habe ich sie wirklich nicht gebraucht. (Zumindest dachte ich das damals ...)
Ich habe das Chaos aufgeräumt, alle aktuellen Java-Versionen deinstalliert und nur JDK + JRE 1.7 64-Bit installiert.
Eine der Eclipse-'Installationen 'schlug danach mit dem Failed to Load the JNI shared Library
und einem angegebenen Pfad relativ zum neu installierten JDK fehl, bei dem es sich um den jvm.dll
handelte.
Die fehlgeschlagene Eclipse war die einzige meiner IDEs, die noch eine 32-Bit-Version in meinem ansonsten nur 64-Bit-Setup enthielt.
Das Hinzufügen von VM Argumenten, wie so oft erwähnt, in Eclipse.ini
war in meinem Fall nicht sinnvoll (da ich nur das falsche JDK/JRE hatte, auf das ich mich beziehen konnte.)
Ich konnte auch nicht herausfinden, wie ich überprüfen kann, ob es sich bei dieser Eclipse um eine 32-Bit- oder 64-Bit-Version handelt (ich konnte sie im Task-Manager nicht nachschlagen, da dies bei dieser Eclipse-Installation nicht der Fall war start up. Und da es eine Weile her war, dass ich es eingerichtet hatte, konnte ich mich auch nicht an seine Version erinnern.)
Falls Sie ein neueres JDK und ein älteres JRE verwenden, könnten Sie ebenfalls in Schwierigkeiten geraten, aber dann erscheint mit größerer Wahrscheinlichkeit ein Java.lang.UnsupportedClassVersionError
, IIRC .
Stellen Sie sicher, dass Ihre _Eclipse.ini
_ -Datei die folgenden Zeilen enthält.
_-vm
C:\path\to\64bit\Java\bin\javaw.exe
_
Mein Eclipse.ini
zum Beispiel:
_-startup
plugins/org.Eclipse.equinox.launcher_1.1.1.R36x_v20101122_1400.jar
--launcher.library
plugins/org.Eclipse.equinox.launcher.win32.win32.x86_64_1.1.2.R36x_v20101222
-product
org.Eclipse.epp.package.Java.product
--launcher.defaultAction
openFile
--launcher.XXMaxPermSize
256M
-showsplash
org.Eclipse.platform
-vm
C:\Program Files\Java\jdk1.6.0_32\bin\javaw.exe
--launcher.XXMaxPermSize
256m
--launcher.defaultAction
openFile
-vmargs
-Dosgi.requiredJavaVersion=1.5
-Xms40m
-Xmx512m
_
Verwenden Sie OS und Eclipse, bleiben beide 64-Bit- oder 32-Bit-Versionen gleich und config Eclipse.ini
.
Ihre _Eclipse.ini
_ -Datei befindet sich in Ihrem Eclipse-Ordner.
Ich hatte das gleiche problem
Ich löste es durch die Installation von 64-Bit-JVM aus
Dieser Fehler bedeutet, dass die Architektur von Eclipse nicht mit der Architektur von Java übereinstimmt, d. H. Wenn eine 32-Bit-Version vorliegt, muss die andere gleich und nicht 64-Bit sein.
Die zuverlässigste Lösung besteht darin, den JVM-Speicherort in Eclipse.ini anzugeben:
-vm
C:\Program Files (x86)\Java\jdk1.7.0_55\bin\javaw.exe
Wichtig: Diese beiden Zeilen müssen vor -vmargs stehen. Verwenden Sie keine Anführungszeichen. Leerzeichen sind erlaubt.
Eine andere Option ist:
Erstellen Sie eine Verknüpfung zu Eclipse.exe. Öffnen Sie die Verknüpfung und ändern Sie das Ziel in:
"C:\Program Files\Eclipse\eclipse.exe" -vm "c:\Program Files\Java\jdk1.7.0_04\bin\javaw.exe"
Stellen Sie für Ihre Installation sicher, dass die Speicherorte auf das richtige Eclipse-Installationsverzeichnis und das richtige Installationsverzeichnis javaw.exe
verweisen.
(Die 64/32-Bit-Versionen von Eclipse und Java müssen natürlich identisch sein.)
Ich habe mehrere Versionen von Java installiert, sowohl Sun JDK als auch JRockit, sowohl 32-Bit- als auch 64-Bit-Version usw., und dieses Problem trat bei einer Neuinstallation von 64-Bit-Eclipse für Java EE auf ( JUNO).
64-Bit-Trio wie von Peter Rader vorgeschlagen:
Ich verwende 64-Bit-Eclipse unter 64-Bit-Betriebssystemen (Windows 7).
Ich habe sichergestellt, dass Sun JDK 7 64-Bit die Standardversion Java ist. Als ich "Java -version" über die Befehlszeile (cmd.exe) eingab, wurde Sun JDK 7 64-Bit zurückgegeben ...
Java version "1.7.0"
Java(TM) SE Runtime Environment (build 1.7.0-b147)
Java HotSpot(TM) 64-Bit Server VM (build 21.0-b17, mixed mode)
Dies hat das Problem für mich nicht gelöst.
Hinzufügen der Option -vm zu Eclipse.ini, wie von Jayesh Kavathiya vorgeschlagen:
Ich habe Folgendes zu Eclipse.ini hinzugefügt:
-vm
C:/apps/Java/jdk7-64bit/bin/javaw.exe
Ich musste keine der verschiedenen Versionen von JDK oder JRE auf meinem Computer deinstallieren.
Für eine fehlende Datei jvm.dll
können wir den Pfad der DLL-Datei in der Datei Eclipse.ini
als angeben
-vm
C:\Progra~1\Java\jdk1.6.0_38\jre\bin\server\jvm.dll
Hier ist es wichtig, Leerzeichen im Pfad und doppelte Anführungszeichen zu entfernen. Es funktionierte für mich, als ich die Anführungszeichen und das Leerzeichen entfernte.
Ich hoffe es hilft jemandem.
Ich hatte ein ähnliches Problem. Es wurde folgendermaßen gelöst.
Ich habe beide Versionen von Java installiert, aber Eclipse versuchte weiterhin, die 32-Bit-Version zu verwenden.
Natürlich müssen Sie eine kompatible Version von JDK und Eclipse haben, aber Sie müssen auch die folgenden Zeilen in die Eclipse.ini
-Datei einfügen:
-vm
yourdrive\Java\bin
Machen Sie sie zu den ersten beiden Zeilen Ihrer Eclipse.ini
-Datei.
Wie viele Leute bereits angedeutet haben, ist dies ein 32-Bit- vs. 64-Bit-Problem für Eclipse und Java . Sie können 32 und 64 Bit nicht mischen. Da Eclipse Java_HOME
nicht verwendet, müssen Sie wahrscheinlich vor dem Starten von Eclipse Ihren PATH ändern, um sicherzustellen, dass Sie nicht nur die entsprechende Java-Version verwenden, sondern auch, wenn Sie 32- oder 64-Bit verwenden (oder das _ ändern).INI Datei als Jayath notiert).
Wenn Sie Eclipse von einer Firmenfreigabe installieren, sollten Sie sicherstellen, dass Sie feststellen können, welche Eclipse-Version Sie entpacken, und in das entsprechende Programmdateiverzeichnis entpacken Um den Überblick zu behalten, um welche Art es sich handelt, ändern Sie den PFAD (entweder permanent über (Windows) Systemsteuerung -> System oder legen Sie PATH=/path/to/32 or 64bit/Java/bin;%PATH%
fest (erstellen Sie möglicherweise eine Batch-Datei, wenn Sie ihn nicht in Ihrem System festlegen möchten) und/oder Benutzerumgebungsvariablen). Denken Sie daran, 32-Bit ist in Programmdateien (x86) .
Wenn Sie sich nicht sicher sind, starten Sie einfach Eclipse. Wenn der Fehler auftritt, ändern Sie Ihren PATH in die andere "Bit" -Version von Java und versuchen Sie es erneut. Verschieben Sie dann das Eclipse-Verzeichnis in das entsprechende Verzeichnis für Programmdateien .
Alternativ können Sie dieselbe "Bit" -Version von JRE und Eclipse abrufen und dann eine neue Verknüpfung mit dem folgenden Ziel erstellen (ersetzen Sie die installierte JRE und den Pfad für Eclipse):
"C:\studio\Eclipse.exe" -vm "C:\Program Files\Java\jre7\bin\server\jvm.dll" Eclipse.vm="C:\Program Files\Java\jre7\bin\server\jvm.dll" Java.home="C:\Program Files\Java\jre7" Java.runtime.version=1.7.0
Das sollte den Trick machen.
Sie können dieses Problem lösen, wie viele andere replizierten. Sie benötigen, dass Eclipse und JDK 32-Bit oder beide auf 64-Bit sind. Die Architektur des Betriebssystems spielt keine Rolle, während die anderen auf demselben Architekturtyp verbleiben.
Die Antworten über mir haben mich so in Versuchung geführt, dass ich beschlossen habe, alle möglichen Kombinationen mit OS, Eclipse und JVM Trio trocken laufen zu lassen. Egal, wer gerade meine Post liest, prüft Folgendes als Hotspot (ich bin Windows 7-Benutzer).
Sie verstehen, dass Programmdateien und Programmdateien (x86) zwei verschiedene Ordner sind ... x86 steht für die 32-Bit-Version von Programmen und die erstere ist die 64-Bit-Version.
Wenn Sie mehrere Versionen von Java mit unterschiedlichen Bit- und Release-Versionen installiert haben, was bei so vielen Open Source IDEs , Managern und Administrationskonsolen der Fall sein muss, ist die beste Option um das Argument VM direkt in der Datei Eclipse.ini
zu setzen. Wenn Sie dies nicht tun, wird Eclipse verrückt und versucht, sich selbst zu suchen, was nicht gut ist.
Eine einfache Möglichkeit zur Behebung besteht darin, den Ordner jre
aus dem installierten JDK in den Eclipse-Installationsordner zu kopieren. Stellen Sie sicher, dass das JDK, von dem Sie kopieren, dieselbe Architektur aufweist wie Ihre Eclipse-Installation.
Ich musste meinen Computer so konfigurieren, da ich sowohl Eclipse als auch Appcelerator Titanium Studio auf meinem Computer ausführte. Das Studio benötigt 32-Bit-Java, während Eclipse 64-Bit benötigt.
Überprüfen Sie einfach die Umgebungsvariable PATH. In Arbeitsplatz -> Eigenschaften -> Erweitertes System Einstellungen -> mgebungsvariablen -> (linkes oberes Fenster) Benutzervariablen für "einen PC-Namen") überprüfen Sie einfach die PATH-Variable. Wenn es nicht existiert, erstelle es mit dem folgenden Befehl -> C:\Programme (x86)\Java\jre7\bin <-
Ich hatte das gleiche Problem, nachdem ich meine Eclipse aktualisiert hatte. Ich habe festgestellt, dass der Pfad nach der 64-Bit-Version gefragt hat, aber ich hatte den 32-Bit-Pfad in dif. Es war hilfreich für mich. PS: Ich habe ein 64-Bit-Betriebssystem, 32-Bit-JRE und 32-Bit-Eclipse. Alles funktioniert gut :)
Ja, stellen Sie sicher, dass Ihre Versionen von Eclipse und JDK beide 64-Bit sind. Nur um sicherzustellen, dass alles korrekt ist, deinstallieren Sie JDK und installieren Sie es in Programmdateien und nicht in Programmdateien (x86). . Zumindest hat das mein Problem gelöst.
Sie sollten alle alten [JREs] [1] deinstallieren und dann die neueste installieren ... Ich hatte das gleiche Problem und jetzt löse ich es. Ich habe:
Besser Jre 6 32 bit installieren. Es funktioniert wirklich.
Ich möchte eine andere Lösung für diesen Fehler vorziehen, insbesondere für diejenigen, die 32-Bit- und 64-Bit-Eclipse in einem System verwenden möchten.
Eclipse wird mit dem JRE/JDK im Unterverzeichnis jre
gestartet, sofern vorhanden. (STS oder andere Eclipse-basierte IDE unterstützen diese Funktion ebenfalls ...)
Die Lösung besteht darin, eine Verzeichnisverknüpfung mit dem Befehl mklink.exe
zu erstellen, der in Windows Vista oder einer neueren Version vorhanden ist ( junction.exe ähnliche Funktion für Windows 2000/XP anbieten).
Öffnen Sie das Befehlszeilenfenster und führen Sie den folgenden Befehl aus:
mklink/j "$ Eclipse-HOME/jre" "$ JDK_or_JRE_home"
Wenn die Eclipse für 64-Bit-Windows ist, muss die Architektur von JDK/JRE
natürlich identisch sein.
Annehmen:
Eclipse for windows x86_64
ist installiert in d:\devTool\Eclipse JDK for windows x64
ist installiert in C:\Programme\Java\jdk1.8.0 Der Befehl zum Erstellen des Ordners jre
lautet:
mklink/j "d:\devTool\Eclipse\jre" "C:\Programme\Java\jdk1.8.0"
Übrigens, Verzeichnisknoten löschen löscht KEINE Dateien. Wenn Sie einen falschen Link erstellen, können Sie diesen mit dem Datei-Explorer oder dem Befehl rmdir
löschen.
rmdir "d:\devTool\Eclipse\jre"
Es ist wichtig, den Parameter -vm und seinen Wert in 2 Zeilen AT THE BEGINNING der Eclipse.ini einzufügen
-vm C:\Programme\Java\jdk1.7.0_45\bin\javaw.exe
Ich hatte das gleiche Problem nach dem Upgrade von Java 6 auf Java 7. Nachdem ich Java 6 (64 Bit) entfernt und Java neu installiert hatte 7 (64 Bit), Eclipse hat funktioniert. :)
Vielen Dank misterfrb , ich habe festgestellt, dass Eclipse diesen Fehler ausgibt, weil ich gerade Oracle 10g Developer Suite und es installiert hatte suchte nach der Datei jvm.dll
im Ordner C:\DevSuiteHome_1
(Ich muss mich dafür entschieden haben, JDK zusammen mit der Developer Suite erneut zu installieren).
Nachdem Sie die DevSuiteHome-Zeilen aus der Pfadvariablen entfernt und den Korrekturspeicherort für 64-Bit jvm.dll
hinzugefügt haben (nicht sicher, ob dies erforderlich war, haben Sie es nicht ohne versucht), hat Eclipse erneut funktioniert, und die Developer Suite funktioniert auch weiterhin.
64-Bit-JVM wurde von der Site heruntergeladen, manuell installiert und die Systempfadvariable aktualisiert. Das hat das Problem gelöst.
Einfach, ich habe ein 64-Bit-Betriebssystem, 32-Bit Eclipse und beide JDK 32 & 64 installiert ... Ich habe gerade das 64-Bit-JDK deinstalliert und Eclipse funktioniert einwandfrei.
Sie haben die richtige Version von Java_HOME und PATH in Umgebungsvariablen geändert.
Stellen Sie sicher, dass Sie Eclipse mit Administratorrechten starten.
Wenn Sie ein ganzes 64-Bit-Trio verwenden und es immer noch nicht funktioniert (ich bin beim Starten von Android Monitor in Intellij Idea auf dieses Problem gestoßen), wird wahrscheinlich eine falsche jvm.dll verwendet, die Ihrer entgegengesetzt ist Java erwartet. Befolgen Sie einfach diese Schritte:
Suchen Sie die Datei jvm.dll in Ihrem JRE-Verzeichnis: C:\Program Files\Java\jre7\server\bin\jvm.dll
Suchen Sie die Datei jvm.dll in Ihrem JDK-Verzeichnis: c:\Program Files\Java\jdk1.7.0_xx\jre\bin\server\
Kopieren Sie den jvm.dll
aus dem JRE-Verzeichnis in Ihr JDK-Verzeichnis und überschreiben Sie die jvm.dll im JDK.
Vergessen Sie nicht, ein Backup zu erstellen, nur für den Fall. Sie müssen nichts in Bezug auf Java installieren oder deinstallieren.
Das gleiche ist mir eingefallen. Ich hatte 64-Bit-Eclipse, aber mein JDK war 32-Bit. Also habe ich die 64-Bit-Version installiert und es ist jetzt OK.
Ich bin nicht sicher, warum, aber ich hatte die JRE in meinem C:\Windows-Verzeichnis und Java.exe und javaw.exe in meinem Windows\System32-Verzeichnis installiert.
Offensichtlich erhielten diese Verzeichnisse Priorität, sogar nachdem das -vm-Flag zu meiner Eclipse.ini-Datei hinzugefügt wurde.
Lösche sie von hier und behebe das Problem für mich.
Auf der Download-Seite von Eclipse sollte "JRE 32-Bit" oder "JRE 64-Bit" und nicht "Windows 32-Bit" oder "Windows 64-Bit" geschrieben sein.
Stellen Sie sicher, dass Sie die richtige Version verwenden, die mit Ihrem JDE kompatibel ist, wie zuvor beantwortet.
Sie können die 32-Bit-Version von JDK auf einem 64-Bit-Computer installieren. Siehe JDK 7-Downloads.
In meinem Fall habe ich versucht, Java über die Eingabeaufforderung zu starten und habe diesen Fehler erhalten
Fehler: "C:\Windows\jre\lib\AMD64\jvm.cfg" konnte nicht geöffnet werden
Es bedeutete, dass "Java" im Pfad gesucht wurde, beginnend mit diesem falschen Verzeichnis. Durch Löschen des Ordners C:\Windows\jre\wurde das Problem behoben
Und für PDT Benutzer - vermeiden die Zend-Download-Seite - hat es nicht 64-Bit-Downloads verknüpft.
Verwenden Sie die Elipse-Site selbst .
Der obige Link hatte eine ältere Version von 3.6 Eclipse, die sich dann aufgrund von Eclipse Bug # 317785 nicht selbst aktualisieren konnte.
Meine Lösung bestand darin, neben 64-Bit nur 32-Bit Java zu installieren - dies ermöglichte es dem Zend -Installer, zu funktionieren.
Es ist deprimierend, wie viel Java/Eclipse Cruft man durchlaufen muss, um eine PHP IDE zu erhalten.
Ich habe alle Eclipse-Fehler erlebt und dies ist einer von ihnen. Das Problem ist die 64-Bit-Version von Eclipse. Laden Sie die 32-Bit-Version herunter und starten Sie sie.
Die einfachste Lösung besteht darin, eine bestimmte JRE in die Datei Eclipse.ini aufzunehmen:
Damit können Sie fast jede Eclipse-Version starten
Ich hatte das gleiche problem mit 64bit os sollten alle 64bit sein. Java und Eclipse. Ich habe alle Methoden in stackoverflow und auch in youtube ausprobiert. Keiner von ihnen arbeitete für mich, bis ich diese einfache Methode fand.
Ich habe 64bit Java für den Cnet-Download installiert und das Problem wurde automatisch behoben. Ich habe die Quelle erwähnt, weil es zu einfach ist, zu googeln und zur ersten Cnet-Website zu wechseln, anstatt zur offiziellen Website, wenn Sie eine neue Biene sind.
p.s. Wenn Sie ein Android ADT-Bundle haben und Eclipse von dort aus öffnen wollten und denselben Fehler hatten, können Sie dieses Problem auch mit dieser Methode beheben.
Dieser Fehler tritt auf, weil eine andere Java-Version die 32-Bit-Version heruntergeladen hat.
Die Installation von JDK 1.8._91 (Mixed Mode) ist eine weitere Lösung dafür!