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:
- Ich habe überprüft, ob auf diesem Pfad etwas vorhanden ist. Es existiert.
- Mein Eclipse und Java SE Development Kit sind beide 64-Bit. Ich habe mein System überprüft und es kann 64-Bit verarbeiten.
- Ich habe bei Google und bei Stack Overflow nach diesem Problem gesucht. Die einzige Antwort, die ich gefunden habe, war das Herunterladen der 32-Bit-Versionen von JDK und Eclipse.
Das Herunterladen der 32-Bit-Versionen möchte ich nur als allerletzten Ausweg tun.
Was würde vorgeschlagen, um dieses Problem zu lösen?
Antworten:
Du brauchst ein
64-bit
Trio:64-bit
Betriebssystem64-bit
Java64-bit
Finsternisquelle
Funktionierende Paarungen von OS, JDK und Eclipse:
32-bit
Betriebssystem |32-bit
JDK |32-bit
Eclipse (nur 32-Bit )64-bit
Betriebssystem |32-bit
JDK |32-bit
Finsternis64-bit
Betriebssystem |64-bit JDK
|64bit
Eclipse (nur 64-Bit )Ich hatte mehrere JDKs und JREs installiert.
Jeder von ihnen hatte seinen eigenen Eintrag in der PATH-Variablen, alle funktionierten mehr oder weniger.
Nach den PATH-Variablen zu urteilen, waren einige Installationen völlig nutzlos, da sie nie verwendet wurden. Natürlich können die "inaktiven" Javas bei Bedarf manuell aus Eclipse heraus referenziert werden, aber das habe ich nie getan, also habe ich sie wirklich nicht gebraucht. (Zumindest dachte ich das damals ...)
Ich habe das Chaos beseitigt, alle aktuellen Java-Dateien deinstalliert und nur JDK + JRE 1.7 64-Bit installiert.
Eine der Eclipse-Installationen schlug anschließend mit dem
Failed to Load the JNI shared Library
und einem angegebenen Pfad relativ zum neu installierten JDK fehl , von dem angenommen wurdejvm.dll
, dass es sich um einen handelt.Die fehlerhafte Eclipse war die einzige meiner IDEs, die in meinem ansonsten nur 64-Bit-Setup noch eine 32-Bit-Version war.
Das Hinzufügen von VM-Argumenten, wie so oft erwähnt,
eclipse.ini
war in meinem Fall sinnlos (da ich nur das falsche JDK / JRE hatte, auf das ich mich beziehen konnte.)Ich konnte auch nicht herausfinden, wie ich überprüfen konnte, ob es sich bei dieser Eclipse um eine 32-Bit- oder 64-Bit-Version handelt (ich konnte sie im Task-Manager nicht nachschlagen , da diese Eclipse-Installation nicht gestartet werden konnte Es ist eine Weile her, seit ich es eingerichtet hatte, ich konnte mich auch nicht an seine Version erinnern.)
Für den Fall , verwenden Sie eine neuere JDK und eine ältere JRE Sie für Ärger in vielleicht auch, aber dann ist es wahrscheinlicher , ein
java.lang.UnsupportedClassVersionError
erscheint, IIRC .quelle
Stellen Sie sicher, dass Ihre
eclipse.ini
Datei die folgenden Zeilen enthält.Mein
eclipse.ini
zum Beispiel:Verwenden Sie OS und Eclipse. Beide 64-Bit- oder 32-Bit-Versionen bleiben gleich und konfigurieren
eclipse.ini
.Ihre
eclipse.ini
Datei befindet sich in Ihrem Eclipse-Ordner .quelle
-vm C:\Program Files\Java\jdk1.6.0_32\bin\javaw.exe
Zeile zu meiner Datei eclipse.ini hinzugefügt und sie wurde einwandfrei gestartet. Danke für die Hilfe +1.Ich hatte das gleiche Problem
Ich habe es behoben, indem ich 64-Bit-JVM von installiert habe
http://www.java.com/de/download/manual.jsp
quelle
Dieser Fehler bedeutet, dass die Architektur von Eclipse nicht mit der Architektur der Java-Laufzeit übereinstimmt, dh wenn eine 32-Bit-Architektur ist, muss die andere dieselbe sein und nicht 64-Bit.
Die zuverlässigste Lösung besteht darin, den JVM-Speicherort in eclipse.ini anzugeben:
Wichtig: Diese beiden Zeilen müssen vor -vmargs stehen. Verwenden Sie keine Anführungszeichen. Leerzeichen sind erlaubt.
quelle
Eine weitere Option ist:
Erstellen Sie eine Verknüpfung zur Datei Eclipse.exe. Öffnen Sie die Verknüpfung und ändern Sie das Ziel in:
Stellen Sie für Ihre Installation sicher, dass die Speicherorte auf das richtige Eclipse-Installationsverzeichnis und das richtige
javaw.exe
Installationsverzeichnis verweisen .(Die 64/32-Bit-Versionen von Eclipse und Java müssen natürlich identisch sein.)
quelle
Ich habe mehrere Versionen von Java installiert, sowohl Sun JDK als auch JRockit, sowohl 32-Bit als auch 64-Bit usw., und bin auf dieses Problem mit einer Neuinstallation von 64-Bit-Eclipse für Java EE (JUNO) gestoßen.
Was hat NICHT funktioniert:
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 Standard-Java-Version ist. Als ich "java -version" über die Befehlszeile (cmd.exe) eingab, wurde Sun JDK 7 64-Bit zurückgegeben ...
Dies hat das Problem für mich nicht gelöst.
Was DID Arbeit:
Hinzufügen der Option -vm zu eclipse.ini, wie von Jayesh Kavathiya vorgeschlagen:
Ich habe Folgendes zu eclipse.ini hinzugefügt:
Hinweis:
Ich musste keine der verschiedenen Versionen von JDK oder JRE deinstallieren, die ich auf meinem Computer habe.
quelle
Für eine fehlende
jvm.dll
Datei können wir den Pfad der DLL-Datei in dereclipse.ini
Datei als angebenHier ist es wichtig, Leerzeichen im Pfad und die doppelten Anführungszeichen zu entfernen. Es hat bei mir funktioniert, als ich die Anführungszeichen und das Leerzeichen entfernt habe.
Ich hoffe es hilft jemandem.
quelle
Ich hatte ein ähnliches Problem. Es wurde wie folgt gelöst.
Ich habe beide Versionen von Java installiert, aber Eclipse hat immer wieder versucht, die 32-Bit-Version zu verwenden.
quelle
Natürlich benötigen Sie eine kompatible Version von JDK und Eclipse, aber Sie müssen der
eclipse.ini
Datei auch die folgenden Zeilen hinzufügen :Machen Sie sie zu den ersten beiden Zeilen Ihrer
eclipse.ini
Datei.quelle
Wie viele Leute bereits angedeutet haben, ist dies sowohl für Eclipse als auch für Java ein 32-gegen-64-Bit-Problem . Sie können 32 und 64 Bit nicht verwechseln. Da Eclipse nicht verwendet wird
JAVA_HOME
, müssen Sie Ihren PATH wahrscheinlich vor dem Start von Eclipse ändern, um sicherzustellen, dass Sie nicht nur die entsprechende Java-Version verwenden, sondern auch 32- oder 64-Bit (oder die INI-Datei wie von Jayath angegeben ändern). .Wenn Sie Eclipse von einer Unternehmensfreigabe installieren, sollten Sie sicherstellen, dass Sie erkennen können, welche Eclipse-Version Sie entpacken, und in das entsprechende Programmdateiverzeichnis entpacken, um zu verfolgen, welche welche ist. Ändern Sie dann den PATH (entweder permanent über (). Windows) Systemsteuerung -> System oder Set
PATH=/path/to/32 or 64bit/java/bin;%PATH%
(möglicherweise erstellen Sie eine Batchdatei, wenn Sie sie nicht in Ihren System- und / oder Benutzerumgebungsvariablen festlegen möchten). Denken Sie daran, dass 32-Bit in Programmdateien (x86) enthalten ist .Wenn Sie sich nicht sicher sind, starten Sie einfach Eclipse. Wenn Sie den Fehler erhalten, ä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 Programmdateiverzeichnis .
quelle
Alternativ können Sie dieselbe "Bit" -Version von JRE und Eclipse herunterladen und dann eine neue Verknüpfung mit dem folgenden Ziel erstellen (ersetzen Sie den installierten Speicherort / Pfad für JRE und Eclipse):
Das sollte den Trick machen.
quelle
Sie können dieses Problem wie viele andere replizierte lösen. Sie benötigen, dass Eclipse und das JDK 32-Bit oder beides auf 64-Bit sind . Die Architektur des Betriebssystems spielt keine Rolle, während die anderen auf derselben Art von Architektur bleiben.
quelle
Die Antworten über mir haben mich so sehr gereizt, dass ich mich entschlossen habe, alle möglichen Kombinationen mit OS, Eclipse und JVM- Trio zu testen . Wie auch immer, wer meinen Beitrag ausgräbt und liest, überprüft Folgendes als Hot Spot (ich bin Windows 7-Benutzer).
Sie verstehen, dass Programmdateien und Programmdatei (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 Java- Versionen mit unterschiedlichen Bit- und Release-Versionen installiert haben, was bei so vielen Open-Source- IDEs , Managern und Administrationskonsolen der Fall ist , ist es am besten, das VM-Argument direkt in der
eclipse.ini
Datei festzulegen. Wenn Sie dies nicht tun, wird Eclipse verrückt und versucht, sich selbst zu suchen, was nicht gut ist.quelle
Eine der einfachen Möglichkeiten zur Lösung besteht darin, den
jre
Ordner aus dem installierten JDK in den Eclipse-Installationsordner zu kopieren . Stellen Sie sicher, dass das JDK, von dem Sie kopieren, dieselbe Architektur wie Ihre Eclipse-Installation hat.Ich musste meinen Computer auf diese Weise konfigurieren, da ich sowohl Eclipse als auch Appcelerator Titanium Studio auf meinem Computer ausführe . Das Studio benötigt 32-Bit-Java, während Eclipse 64-Bit benötigt.
quelle
Ja, stellen Sie einfach 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.
quelle
Überprüfen Sie einfach die Umgebungsvariable PATH. In Arbeitsplatz -> Eigenschaften -> Erweiterte Systemeinstellungen -> Umgebungsvariablen -> (linke obere Fenster „Benutzervariablen für‚einige Namen PC‘“) nur das PATH - Variable überprüfen. Wenn es nicht vorhanden ist, erstellen Sie es mit dem folgenden -> 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 :)
quelle
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.
quelle
64-Bit-JVM von der Site heruntergeladen, manuell installiert und die Systempfadvariable aktualisiert. Das hat das Problem gelöst.
(x86) \ Java \ jre7".
quelle
Vielen Dank, Herr Frb . Ich habe festgestellt, dass Eclipse diesen Fehler ausgegeben hat, da ich gerade die Oracle 10g Developer Suite installiert habe und nach der
jvm.dll
Datei imC:\DevSuiteHome_1
Ordner gesucht habe (ich muss mich entschieden haben, JDK zusammen mit der Developer Suite erneut zu installieren).Nach dem Entfernen der DevSuiteHome-Zeilen aus der Pfadvariablen und dem Hinzufügen des Korrekturorts für 64-Bit
jvm.dll
(nicht sicher, ob dies erforderlich war, nicht ohne versucht) funktionierte Eclipse erneut, und die Developer Suite auch weiterhin.quelle
Ganz einfach, ich habe ein 64-Bit-Betriebssystem, 32-Bit- Eclipse und sowohl JDK 32 als auch 64 installiert ... Ich habe gerade das 64-Bit-JDK deinstalliert und Eclipse funktioniert einwandfrei.
quelle
Ich hatte das gleiche Problem nach dem Upgrade von Java 6 auf Java 7. Nachdem ich Java 6 (64 Bit) entfernt und Java 7 (64 Bit) neu installiert hatte, funktionierte Eclipse. :) :)
quelle
Es ist wichtig, den Parameter -vm und seinen Wert in 2 Zeilen zu Beginn der Datei eclipse.ini hinzuzufügen
-vm C: \ Programme \ Java \ jdk1.7.0_45 \ bin \ javaw.exe
quelle
Ich möchte eine andere Lösung für diesen Fehler vorschlagen, insbesondere für diejenigen, die 32-Bit- und 64-Bit-Eclipse in einem System verwenden möchten.
Eclipse wird mit dem JRE / JDK im
jre
Unterverzeichnis gestartet, falls vorhanden. (STS oder eine andere Eclipse-basierte IDE unterstützen diese Funktion ebenfalls ...)Die Lösung besteht darin, eine Verzeichnisverknüpfung mit einem
mklink.exe
Befehl zu erstellen, der in Windows Vista oder einer neueren Version vorhanden ist ( junction.exe bietet eine ähnliche Funktion für Windows 2000 / XP).Öffnen Sie die Befehlszeilenfenster und führen Sie den folgenden Befehl aus:
Wenn Eclipse für 64-Bit-Windows vorgesehen ist, muss die Architektur von natürlich
JDK/JRE
dieselbe sein.Annehmen:
Eclipse for windows x86_64
ist installiert in d: \ devTool \ eclipseJDK for windows x64
ist installiert in C: \ Programme \ Java \ jdk1.8.0 installiertDer Befehl zum Erstellen der
jre
Ordners lautet:Übrigens: Beim Löschen der Verzeichnisverbindung wird KEINE Datei gelöscht. Wenn Sie einen falschen Link erstellen, können Sie ihn mit dem Datei-Explorer oder löschen
rmdir
Befehl .quelle
Stellen Sie sicher, dass Sie Eclipse mit Administratorrechten starten.
quelle
Wenn Sie das gesamte 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 die falsche jvm.dll verwendet, im Gegensatz zu den Erwartungen Ihres Java. 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 das
jvm.dll
aus JRE-Verzeichnis in Ihr JDK-Verzeichnis und überschreiben Sie die Datei jvm.dll in JDK.Vergessen Sie nicht, für alle Fälle ein Backup zu erstellen. Sie müssen nichts im Zusammenhang mit Java installieren oder deinstallieren.
quelle
Das gleiche fiel mir ein. Ich hatte 64-Bit-Eclipse, aber mein JDK war 32-Bit. Also habe ich die 64-Bit-Version installiert und es ist jetzt in Ordnung.
quelle
Ich bin nicht sicher warum, aber ich hatte das jre in meinem Verzeichnis c: \ windows und java.exe und javaw.exe in meinem Verzeichnis windows \ system32 installiert.
Offensichtlich erhielten diese Verzeichnisse auch nach dem Hinzufügen des Flags -vm zu meiner Datei eclipse.ini Priorität.
Das Löschen von hier hat das Problem für mich behoben.
quelle
Sie haben die richtige Version von JAVA_HOME und PATH in Umgebungsvariablen geändert.
quelle
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 Ihrer JDE kompatibel ist, wie zuvor beantwortet.
quelle