it-swarm.com.de

Mac OS, JDK1.7 (und 1.8) enthält das JNI_CreateJavaVM-Symbol nicht

Ich muss Eclipse Kepler unter Mac OS über ein JDK 1.7 ausführen (dies wird vom PyDev-Plugin benötigt).

Das Problem ist, dass, obwohl ich es geschafft habe, die 1.7 jdk zu installieren und die Eclipse.ini für die Verwendung konfiguriert habe, ich den Fehler bekomme

Die gemeinsam genutzte JVM-Bibliothek "/Library/Java/JavaVirtualMachines/jdk1.7.0_60.jdk/Contents/Home/bin../jre/lib/server/libjvm.dylib" enthält das Symbol JNI_CreateJavaVM nicht.

UPDATE kluge Leute hier https://github.com/joeferner/node-Java/issues/90 behaupten, es genügt, JNI zu den JVMCapabilities in der info.plist-Datei hinzuzufügen mögen

<key>JVMCapabilities</key>
   <string>JNI</string>

Aber ich habe es ausprobiert und es funktioniert in meinem Fall nicht

27
Sindico

Klicken Sie mit der rechten Maustaste auf das Eclipse-Symbol und wählen Sie "Paketinhalt anzeigen". Im Inhaltsverzeichnis finden Sie eine Datei mit dem Namen 'Info.plist'. Scrollen Sie bis zum Ende der Datei, bis Sie das finden

<key>Eclipse</key>
    <array>
        <!-- to use a specific Java version (instead of the platform's default) uncomment one of the following options,
                or add a VM found via $/usr/libexec/Java_home -V
          <string>-vm</string><string>/Library/Java/JavaVirtualMachines/jdk1.8.0_20.jdk/Contents/Home/bin/Java</string>
          <string>-vm</string><string>/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Commands/Java</string>
        -->

Beachten Sie den auskommentierten Abschnitt. Verschieben Sie die JDK-Pfaddeklaration aus dem Kommentarbereich. Es sollte jetzt so aussehen.

<key>Eclipse</key>
    <array>
      <string>-vm</string><string>/Library/Java/JavaVirtualMachines/jdk1.8.0_20.jdk/Contents/Home/bin/Java</string>
        <!-- to use a specific Java version (instead of the platform's default) uncomment one of the following options,
                or add a VM found via $/usr/libexec/Java_home -V
          <string>-vm</string><string>/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Commands/Java</string>
        -->

Navigieren Sie im letzten Schritt zu/Library/Java/JavaVirtualMachines und überprüfen Sie den dort vorhandenen jdk-Paketnamen. Ersetzen Sie die jdk-Version im obigen Befehl damit.

/Library/Java/JavaVirtualMachines/{your_jdk_package_name}/Contents/Home/bin/Java

Optional: Auf einigen Maschinen müssen Sie möglicherweise den Finder schließen, nachdem Sie all dies ausgeführt haben, navigieren Sie zum Eclipse-Ordner und klicken Sie erneut auf Eclipse, damit er funktioniert.

49
Shan

Nur für diejenigen, die nach beiden oben beschriebenen Aufgaben steckengeblieben sind und immer noch dieselbe Fehlermeldung erhalten haben: Ich war mir sicher, dass ich 64-Bit-Eclipse heruntergeladen hatte, aber es stellte sich heraus, dass ich die 32-Bit-Version hatte. Nach dem Download von 64-Bit hat alles funktioniert!

15
tobylaroni

Ich hatte eine perfekt funktionierende Eclipse Luna und bekam diese Fehlermeldung, als ich versuchte, auf Java 8 zu aktualisieren (und jre, jdk usw. zu aktualisieren) ... Shans Lösung funktionierte nicht für mich ... Also habe ich gerade heruntergeladen und installiert letzte Eclipse. Es funktioniert gut. Spart die Zeit für das Debuggen und Herumspielen.

0
aalosious