it-swarm.com.de

Laden der JNI Shared Library (JDK) fehlgeschlagen

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 überprüfte, ob irgendetwas an diesem Pfad existiert. Das gibt es.
  • My 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 bestand darin, die 32-Bit-Versionen von JDK und Eclipse herunterzuladen.

Das Herunterladen der 32-Bit-Versionen möchte ich nur als allerletzten Ausweg tun.
Was würde vorgeschlagen, um dieses Problem zu lösen?

904
Mxyk

Du brauchst ein 64-bit Trio:

  • 64-bitOS
  • 64-bitJava
  • 64-bitEclipse
833
Peter Rader

Funktionspaarungen von OS, JDK und Eclipse:


  • 32-bitOS | 32-bitJDK | 32-bit Eclipse ( Nur 32-Bit )
  • 64-bitOS | 32-bitJDK | 32-bit Eclipse
  • 64-bitOS | 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 .

305
sjas

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.

260

Ich hatte das gleiche problem

Ich löste es durch die Installation von 64-Bit-JVM aus

http://www.Java.com/en/download/manual.jsp

57
Farm

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.

40
Peter Tseng

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.)

32
spannow

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).

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 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.

Was HAT funktioniert:

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

Hinweis:

Ich musste keine der verschiedenen Versionen von JDK oder JRE auf meinem Computer deinstallieren.

29
Sunny Sarkar

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.

18
Stalin Gino

Ich hatte ein ähnliches Problem. Es wurde folgendermaßen gelöst.

  • Verschiebe Eclipse nach Programme (nicht nach Programme (x86)).
  • Entfernen Sie den Pfad zur 32-Bit-Version von Java aus der Umgebungsvariablen 'path'.

Ich habe beide Versionen von Java installiert, aber Eclipse versuchte weiterhin, die 32-Bit-Version zu verwenden.

11
misterfrb

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.

10
Deepak Tyagi

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 .

7
Marc Towersap

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.

6
Kevin Yap

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.

6
Ignacio

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).

  1. 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.

  2. 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.

5
sayannayas

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.

5
Mike Starov

Ü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 :)

4
user1600401

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.

4
Jeena

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.

4
Marcin Erbel

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"

3
Beck Yang

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

3
Rolf

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. :)

3
Supun Sameera

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.

3
Unegma

64-Bit-JVM wurde von der Site heruntergeladen, manuell installiert und die Systempfadvariable aktualisiert. Das hat das Problem gelöst.

  1. Die Standard-JVM wurde in meinem System unter "C:\Programme" installiert
    (x86)\Java\jre7 "
  2. Manuell installierte JVM wurde unter "C:\Programme\Java\jre7" installiert und nach dem Aktualisieren dieses Pates auf die Systempfadvariable funktionierte es.
3
Satya

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.

3
PushkarHJoshi

Sie haben die richtige Version von Java_HOME und PATH in Umgebungsvariablen geändert.

2
Sreedhar GS

Stellen Sie sicher, dass Sie Eclipse mit Administratorrechten starten.

2
Here to Help

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:

  1. Suchen Sie die Datei jvm.dll in Ihrem JRE-Verzeichnis: C:\Program Files\Java\jre7\server\bin\jvm.dll

  2. Suchen Sie die Datei jvm.dll in Ihrem JDK-Verzeichnis: c:\Program Files\Java\jdk1.7.0_xx\jre\bin\server\

  3. 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.

2
rootpd

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.

2
felipe.zkn

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.

2
Guy Lowe

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.

1
A_rnO

Sie können die 32-Bit-Version von JDK auf einem 64-Bit-Computer installieren. Siehe JDK 7-Downloads.

1

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

1
Federico Giorgi

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.

1
cloakedninjas

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.

0
sadegh saati

Die einfachste Lösung besteht darin, eine bestimmte JRE in die Datei Eclipse.ini aufzunehmen:

wiki.Eclipse.org/Eclipse.ini

Damit können Sie fast jede Eclipse-Version starten

0
keesp

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.

0
Priyankara

Dieser Fehler tritt auf, weil eine andere Java-Version die 32-Bit-Version heruntergeladen hat.

0
vaquar khan

Die Installation von JDK 1.8._91 (Mixed Mode) ist eine weitere Lösung dafür!

0
HaryTD