2014-07-05 10 views
27

Ho bisogno di eseguire Eclipse Kepler su Mac OS tramite un JDK 1.7 (Questo è richiesto dal plugin PyDev).Mac OS, JDK1.7 (e 1.8) non contiene il simbolo JNI_CreateJavaVM

Il problema è che, anche se sono riuscito a installare la JDK 1.7 e configurato l'eclipse.ini usarlo ottengo l'errore

La JVM libreria condivisa "/Library/Java/JavaVirtualMachines/jdk1.7.0_60 .jdk/Contents/Home/bin ../ jre/lib/server/libjvm.dylib "non contiene il simbolo JNI_CreateJavaVM.

UPDATE persone intelligenti qui https://github.com/joeferner/node-java/issues/90 affermazione è sufficiente aggiungere JNI ai JVMCapabilities nel file Info.plist come

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

Ma ho provato e non funziona nel mio caso

+0

Il file Info.plist deve risiedere in '/ Libreria/Java/JavaVirtualMachines/ .jdk/Contents' –

+0

@Sindico - La risposta di Shan ha funzionato per me, e tu? Perché non accetti la sua risposta facendo clic sull'icona del segno di spunta accanto ad essa. –

risposta

49

Fare clic con il tasto destro sull'icona di Eclipse e selezionare 'mostra contenuto pacchetto'. All'interno della directory dei contenuti troverai un file chiamato "Info.plist". Scorri fino alla fine del file fino a trovare questo

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

Notare la sezione commentata. Sposta la dichiarazione del percorso jdk fuori dalla sezione dei commenti. Dovrebbe assomigliare a questo ora.

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

Ultimo passo, passare a/Library/Java/JavaVirtualMachines e verificare il nome del pacchetto JDK presenti. Sostituisci la versione jdk nel comando precedente con quello.

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

Optional: Su alcune macchine potrebbe essere necessario chiudere il cercatore dopo aver fatto tutto questo, passare alla cartella di Eclipse e cliccare su Eclipse di nuovo per farlo funzionare.

+0

risolto il problema per me – andy

+0

ho avuto problemi con Eclipse Luna sul mio Mac OS X questo ha risolto il problema per me! grazie mille :) .. solo per essere sicuro di aver specificato il percorso corretto di Java sulla tua macchina usa questo comando:/usr/libexec/java_home – maths

+1

Ho pensato che mangerà molto del mio tempo quando vedo questo errore, questa semplice procedura risolto in pochi minuti, grazie mille – Mani

15

Solo per coloro che potrebbero essere rimasti bloccati dopo aver eseguito entrambe le attività sopra descritte e continuando a visualizzare lo stesso messaggio di errore: ero certo di aver scaricato Eclipse a 64 bit, ma risulta che avevo la versione a 32 bit. Dopo aver scaricato 64-bit, tutto ha funzionato!

+3

Questo era il mio problema dopo l'aggiornamento a OS X 10.10 –

+0

Corretto il mio! Grazie. –

0

Ho avuto un Eclipse Luna perfettamente funzionante e ho iniziato a ricevere questo errore durante il tentativo di aggiornare a Java 8 (e aggiornare jre, jdk ecc.). La soluzione di Shan non ha funzionato per me. Quindi ho appena scaricato e installato l'ultimo Eclipse. Funziona bene. Salva il tempo di debugging e giocherellando.

Problemi correlati