Fehler beim Laden der JNI Shared Library (JDK)

928

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?

Mxyk
quelle
Was genau war das Problem in Ihrem Fall?
Sjas
4
Zu meiner Überraschung hatte ich ungefähr 5 Java auf meinem Computer installiert. Darüber hinaus stellte sich heraus, dass ich die 32-Bit-Eclipse versehentlich heruntergeladen habe. Also habe ich jedes Java deinstalliert, Eclipse gelöscht (Eclipse hat keine "Deinstallation") und Eclipse Classic 64-Bit für meinen Computer zusammen mit einem 64-Bit-Java heruntergeladen (siehe SPPs Antwort für diesen Link).
Mxyk
2
Außerdem: Wenn jemand Probleme hat, seine Eclipse zu "löschen" (z. B. wird der Ordner nicht entfernt, egal wie oft Sie ihn manuell oder über die Eingabeaufforderung entfernen), versuchen Sie, ihn im abgesicherten Modus mit Eingabeaufforderung zu löschen. Ich habe keine Ahnung warum ich das tun musste, aber das hat funktioniert.
Mxyk
@ MikeGates Ich hatte auch dieses Problem, benutzte LockHunter. Abscheulich. Es ist viel zu viel Arbeit, dieses Tool unter Windows auszuführen.
JCollum
Eclipse / Java ist scheiße, wenn es um 64 Bit geht, es ist eine Schande. Der beste Rat, den ich geben kann, ist, sich nur an 32 Bit zu halten. Sparen Sie viel Zeit.
onknows

Antworten:

848

Du brauchst ein 64-bitTrio:

  • 64-bit Betriebssystem
  • 64-bit Java
  • 64-bit Finsternis
Peter Rader
quelle
Erklärung : Stellen Sie sich vor, nativer Code (DLL) wird in eine Anwendung geladen. Stellen Sie sich nun vor, eine 32-Bit-Funktion möchte eine 64-Bit-Funktion oder ähnliches aufrufen. Gleiches gilt für Ausrichtung und Datengrößen und alles. Ich denke, ich muss nichts mehr erzählen = P
imacake
@androiddeveloper Ich denke, Sie mischen mehrere Java-Versionen. Versuchen Sie, nur das 64-Trio zu verwenden.
Grimmig
Korrekt! Mein Laptop läuft unter x64, aber ich habe x86 JDK installiert. Gerade x64 jdk installiert und das Problem verschwindet. Vielen Dank.
Nguyen Minh Binh
Diese Antwort ist eigentlich nicht ganz richtig. Sie müssen kein 64-Bit-JDK und 64-Bit-Eclipse ausführen, wenn Sie ein 64-Bit-Betriebssystem verwenden. Das 64-Bit-Betriebssystem kann genauso gut eine Kombination aus 32-Bit-Java + 32-Bit-Eclipse ausführen. Was übereinstimmen muss , ist die Bittedness von JRE / JDK und Eclipse.
E-Riz
1
@Tarik ja, es ist 2015 und leider wartet der Visual Page Editor (VPE) von JBoss Tools seit Jahren noch auf ein 64-Bit-Upgrade. Schauen Sie sich die Antwort "Arbeitspaare" unten im zweiten Paar an. Das JBoss Tools-Plug-In ist an dieselbe Architektur gebunden, die Sie Eclipse heruntergeladen haben. Eclipse (mit den JBossTools) muss also 32 Bit sein, das JDK muss 32 Bit sein und das Betriebssystem kann 64 Bit sein. Eine 64-Bit-Eclipse funktioniert derzeit nicht mit JBoss Tools .... Ich erinnere mich an ein Projekt namens JBossIDE, das mit Eclipse funktioniert. Sie sollten dies verwenden, anstatt JBossTools in Eclipse zu installieren. Schande über dich JBoss, Schande über Mozilla auch.
Grim
315

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 Finsternis
  • 64-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 Libraryund einem angegebenen Pfad relativ zum neu installierten JDK fehl , von dem angenommen wurde jvm.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.iniwar 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.UnsupportedClassVersionErrorerscheint, IIRC .

sjas
quelle
3
Es sollte nur das erste \ bin verwenden, zu dem es in der
Pfadvariablen
Mmmm, das ist immer die Frage ... Die Oracle-Dokumente sagen, dass nur die erste verwendet wird, aber vielleicht wurde etwas anderes geändert / war bereits vorhanden und funktionierte. Es scheint immer so etwas Seltsames zu sein.
Ekinnear
8
Um zu überprüfen, welche 32-Bit- oder 64-Bit-Version verwendet wird, öffnen Sie die Datei eclipse.ini und suchen Sie nach dem verwendeten Equinox-Launcher (z. B. org.eclipse.equinox.launcher.win32.win32.x86_64_1.1.100.v20110502)
Steve Oh,
Ich hatte diese Kombination mit dem Fehler. 64-Bit-Betriebssystem - 32-Bit-JDK - 32-Bit-Eclipse und es funktioniert nicht. Ich habe es mit dieser Kombination gelöst: 64-Bit-Betriebssystem - 64-Bit-JDK - 64-Bit-Eclipse (nur 64-Bit). Die Variable% PATH% wurde aktualisiert und verweist auf die 64-Bit-Java-Version. Tatsächlich wurde% JAVA_HOME% aktualisiert, da diese Variable in% PATH% -Variablenwerten verwendet wird.
thanos.a
1
Es war der Kommentar von @ekinnear, der mein Problem löste. Ich bin nicht sicher, warum es nach der JVM.dll in meinem Windows / Bin-Ordner gesucht hat, aber das Einrichten des richtigen Pfads scheint das Problem behoben zu haben.
James
267

Stellen Sie sicher, dass Ihre eclipse.iniDatei die folgenden Zeilen enthält.

-vm
C:\path\to\64bit\java\bin\javaw.exe

Mein eclipse.inizum 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. Beide 64-Bit- oder 32-Bit-Versionen bleiben gleich und konfigurieren eclipse.ini.

Ihre eclipse.iniDatei befindet sich in Ihrem Eclipse-Ordner .

Jayesh Kavathiya
quelle
9
Dies löst das Problem. Ich habe die -vm C:\Program Files\Java\jdk1.6.0_32\bin\javaw.exeZeile zu meiner Datei eclipse.ini hinzugefügt und sie wurde einwandfrei gestartet. Danke für die Hilfe +1.
Prolink007
1
Dies funktioniert gut. Bitte überprüfen Sie Ihre Java-Version, führen Sie Java-Version in einer Konsole aus und überprüfen Sie, ob dies die Version ist, die von Eclipse verwendet wird oder nicht
Jayesh Kavathiya
2
Ich habe dies mit meinem Java 6 SDK gemacht und es hat nicht funktioniert. Ich habe es erneut versucht und auf mein Java 7 SDK verwiesen, und es hat funktioniert. Ich bin auf Windows 8 64-Bit, Java 6 und 7 (beide 64-Bit) und Eclipse Helios (32-Bit). Ich war bereit, Eclipse 64-Bit zu deinstallieren und neu zu installieren, aber es scheint, dass das Java 7 SDK einige neue Informationen enthält, um 32-Bit-Apps besser ausführen zu können.
Ryan Shillington
9
das funktioniert. Sie müssen jedoch -vm oben in die INI-Datei einfügen. Zumindest vor -vmargs oder --launcher.xxx
pinkdawn
2
Sehr sehr wichtiger Punkt, den ich verpasst habe. Wenn Sie Folgendes verwenden: "-vm C: \ ProgramFiles \ Java \ jdk1.6.0_32 \ bin \ javaw.exe" wird es niemals richtig funktionieren "-vm C: \ Programme \ Java \ jdk1.6.0_32 \ bin \ javaw.exe "Neue Zeile nach dem -vm ist sehr wichtig.
School Boy
42

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:

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

Peter Tseng
quelle
Hallo, ich arbeite seit einiger Zeit mit diesem INI-Setup. Soll ich die Architektur auf 64-Bit aktualisieren oder kann ich die Tatsache ignorieren, dass es unterschiedliche Architekturen gibt? Thx
Billyjoker
32

Eine weitere Option ist:

Erstellen Sie eine Verknüpfung zur Datei 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 javaw.exeInstallationsverzeichnis verweisen .

(Die 64/32-Bit-Versionen von Eclipse und Java müssen natürlich identisch sein.)

Spannow
quelle
Gute Optionen, aber das Hinzufügen zur INI-Datei wie oben sollte funktionieren
mr.user1065741
2
Die INI-Datei muss nicht geändert werden. Verwenden Sie einfach die 64-Bit-Kombination für Java und Eclipse
thanos.a
29

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

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 DID Arbeit:

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 deinstallieren, die ich auf meinem Computer habe.

Sonniger Sarkar
quelle
Ich musste die JDKs auch nicht deinstallieren, entschied mich jedoch dafür, mein System zu bereinigen, um zukünftige Fehlerursachen zu beseitigen. Ich hatte auch die VM-Argumente erwähnt und erklärt, warum sie offensichtlich nicht für mich funktionieren konnten. Sie haben die Wahl, wie Sie Ihr System einrichten möchten, je nachdem, was Sie wirklich benötigen.
Sjas
Ich musste beide Dinge tun, aber das Hinzufügen der Zeile javaw.exe führte dann dazu, dass ich sowieso alles auf 64-Bit installierte. Es hängt davon ab, wie viel Karma-Bestrafung Sie an Android zahlen müssen.
Josh
Ich habe mich seit Jahren weiterentwickelt und ohne Änderungen an meinem System (die mir bekannt sind) löst Eclipse diesen Fehler aus. Durch Hinzufügen der Option -vm wurde das Problem für mich gelöst, ohne dass andere Einstellungen geändert oder etwas deinstalliert / neu installiert werden musste.
Knossos
18

Für eine fehlende jvm.dllDatei können wir den Pfad der DLL-Datei in der eclipse.iniDatei als angeben

-vm
C:\Progra~1\Java\jdk1.6.0_38\jre\bin\server\jvm.dll

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

Stalin Gino
quelle
1
Dies half mir anstelle von -vm javaw.exe
amj
11

Ich hatte ein ähnliches Problem. Es wurde wie folgt gelöst.

  • Verschieben Sie Eclipse in Programmdateien (nicht in Programmdateien (x86) ).
  • Entfernen Sie den Pfad zur 32-Bit-Version von Java aus der Umgebungsvariablen 'path'.

Ich habe beide Versionen von Java installiert, aber Eclipse hat immer wieder versucht, die 32-Bit-Version zu verwenden.

misterfrb
quelle
10

Natürlich benötigen Sie eine kompatible Version von JDK und Eclipse, aber Sie müssen der eclipse.iniDatei auch die folgenden Zeilen hinzufügen :

-vm
yourdrive\java\bin

Machen Sie sie zu den ersten beiden Zeilen Ihrer eclipse.iniDatei.

Deepak Tyagi
quelle
7

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 .

Marc Towersap
quelle
Es ist eindeutig ein Problem, da diese Seite derzeit 700.000 Aufrufe aufweist ... und ein Jahr später gibt es anscheinend keine Lösung dafür, bei der nicht in Umgebungsvariablen gestöbert wird, nur um die IDE zum Laufen zu bringen!
Ciaran Gallagher
6

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

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

Kevin Yap
quelle
6

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.

Ignacio
quelle
6

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

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

  2. 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.iniDatei festzulegen. Wenn Sie dies nicht tun, wird Eclipse verrückt und versucht, sich selbst zu suchen, was nicht gut ist.

sayannayas
quelle
5

Eine der einfachen Möglichkeiten zur Lösung besteht darin, den jreOrdner 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.

Mike Starov
quelle
Ich habe vor langer Zeit dasselbe getan, aber für eclipse-jee-juno-SR1-win32 und Java6 konnte ich es diesmal nicht zum Laufen bringen. Haben Sie auch die eclipse.ini mit einem absoluten Pfad zum jre bearbeitet?
user77115
Ich habe auch Eclipse 64 Breite JDK 7 64bit, aber Titan groß mir, es ist nicht in der Lage, Jni Shared DLL zu laden.
Realtebo
Aufgrund der verrückten Autoupdates von Window blockiert es jedes Mal, wenn ein Update für JAVA veröffentlicht wird, den Start meiner Eclipe. Die obige Lösung ist der einfachste Weg, unabhängig zu arbeiten, ohne sich um Autoupdates zu kümmern. Vielen Dank!
Jyo the Whiff
4

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.

Jeena
quelle
4

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

user1600401
quelle
4

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.

Marcin Erbel
quelle
3

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

  1. Die Standard-JVM, die auf meinem System installiert ist, befand sich unter "C: \ Programme
    (x86) \ Java \ jre7".
  2. Manuell installierte JVM wurde in "C: \ Programme \ Java \ jre7" installiert und nach dem Aktualisieren dieser Pate auf die Systempfadvariable funktionierte sie.
Satya
quelle
3

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.dllDatei im C:\DevSuiteHome_1Ordner 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.

Unegma
quelle
3

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.

PushkarHJoshi
quelle
3

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

Supun Sameera
quelle
3

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

Rolf
quelle
3

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 jreUnterverzeichnis 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.exeBefehl 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:

mklink / j "$ ECLIPSE-HOME / jre" "$ JDK_or_JRE_home"

Wenn Eclipse für 64-Bit-Windows vorgesehen ist, muss die Architektur von natürlich JDK/JREdieselbe 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 installiert

Der Befehl zum Erstellen der jre Ordners lautet:

mklink / j "d: \ devTool \ eclipse \ jre" "C: \ Programme \ Java \ jdk1.8.0"

Ü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öschenrmdir Befehl .

rmdir "d: \ devTool \ eclipse \ jre"

Beck Yang
quelle
2

Stellen Sie sicher, dass Sie Eclipse mit Administratorrechten starten.

Hier um zu helfen
quelle
2

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:

  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 das jvm.dllaus 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.

rootpd
quelle
2

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.

felipe.zkn
quelle
2

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.

Guy Lowe
quelle
2

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

Sreedhar GS
quelle
1

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.

A_rnO
quelle