it-swarm-eu.dev

Impossibile caricare la libreria condivisa JNI (JDK)

Quando provo ad aprire Eclipse , una finestra pop-up dice:

Impossibile caricare la libreria condivisa JNI "C: /JDK/bin/client/jvm.dll" `.

In seguito, la forza di Eclipse si chiude.

Ecco alcuni punti che vorrei fare:

  • Ho controllato per vedere se qualcosa esiste su quel percorso. Esiste.
  • My Eclipse e Java SE Development Kit sono entrambi a 64 bit. Ho controllato il mio sistema e può gestire 64-bit.
  • Ho cercato questo problema su Google e su Stack Overflow e l'unica risposta che ho trovato è stata scaricare le versioni a 32 bit di JDK ed Eclipse.

Scaricare le versioni a 32 bit è qualcosa che voglio fare solo come ultima risorsa.
Cosa sarebbe suggerito per risolvere questo problema?

895
Mxyk

Hai bisogno di un trio a 64 bit:

  • Sistema operativo a 64 bit
  • 64-bit Java
  • Eclipse a 64 bit
826
Peter Rader

Abbinamenti di lavoro di OS, JDK ed Eclipse:


  • Sistema operativo a 32 bit - JDK a 32 bit - Eclipse a 32 bit (solo 32 bit)
  • Sistema operativo a 64 bit - JDK a 32 bit - Eclipse a 32 bit
  • Sistema operativo a 64 bit - JDK a 64 bit - Eclipse a 64 bit (solo 64 bit)

Ho avuto diversi JDK e JRE installati.

Ognuno di loro aveva la propria voce nella variabile PATH, tutto funzionava più o meno.

A giudicare dalle variabili PATH, alcune installazioni erano completamente inutili, dal momento che non erano mai state utilizzate. Ovviamente, le Javas "inattive" potrebbero essere referenziate manualmente da Eclipse se ne avessi bisogno, ma non l'ho mai fatto, quindi non ne avevo davvero bisogno. (Almeno ho pensato così in quel momento ...)

Ho ripulito il pasticcio, disinstallato tutti gli attuali Java, installato solo JDK + JRE 1.7 64-bit.

Una delle "installazioni" di Eclipse non è riuscita in seguito con Failed to Load the JNI shared Library e un percorso specifico relativo al JDK appena installato in cui si pensava che jvm.dll fosse.

L'Eclipse in errore era l'unico di tutti i miei IDE che era ancora una versione a 32 bit nella mia configurazione altrimenti a 64 bit.

L'aggiunta di VM argomenti, come così spesso menzionato, nel Eclipse.ini non era utile nel mio caso (perché avevo solo il JDK/JRE sbagliato con cui relazionarmi).

Inoltre, non sono riuscito a scoprire come verificare se Eclipse fosse una versione a 32 o 64 bit (non ho potuto cercarlo su Task Manager , poiché questa installazione di Eclipse non si avviava. E poiché era da un po 'che non l'avevo installato, non ricordavo nemmeno la sua versione.)

Nel caso in cui si utilizzi un JDK più recente e un JRE precedente si potrebbe essere nei guai, ma è più probabile che venga visualizzato Java.lang.UnsupportedClassVersionError, IIRC .

302
sjas

Assicurati che il tuo file Eclipse.ini includa le seguenti linee.

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

My Eclipse.ini per esempio:

-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

Usa OS ed Eclipse sia a 64 bit che a 32 bit mantenendo lo stesso e config Eclipse.ini .

Il tuo file Eclipse.ini può essere trovato nella tua cartella Eclipse.

256
jayesh kavathiya

Ho avuto lo stesso problema

L'ho risolto installando JVM a 64 bit da

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

58
Farm

Questo errore indica che l'architettura di Eclipse non corrisponde all'architettura del runtime Java, ad esempio se uno è a 32 bit, l'altro deve essere uguale e non a 64 bit.

La soluzione più affidabile è specificare la posizione JVM in Eclipse.ini:

-vm
C:\Program Files (x86)\Java\jdk1.7.0_55\bin\javaw.exe

Importante: Queste due righe devono venire before -vmargs. Non usare le virgolette; gli spazi sono ammessi.

38
Peter Tseng

Un'altra opzione è:

Creare un collegamento a Eclipse.exe. Apri il collegamento e cambia il target in:

"C:\Program Files\Eclipse\eclipse.exe" -vm "c:\Program Files\Java\jdk1.7.0_04\bin\javaw.exe"

Per la tua installazione, assicurati che le posizioni facciano riferimento alla directory di installazione di Eclipse corretta e alla directory di installazione javaw.exe corretta.

(Le versioni 64/32 bit di Eclipse e Java devono essere uguali, ovviamente).

33
spannow

Ho installato più versioni di Java, sia Sun JDK e JRockit, sia a 32 bit che a 64 bit, ecc. E ho riscontrato questo problema con una nuova installazione di Eclipse a 64 bit per Java EE (JUNO).

Cosa ha fattoNONlavoro:

Trio a 64 bit come suggerito da Peter Rader:

Sto usando Eclipse a 64 bit sul sistema operativo a 64 bit (Windows 7).

Ho assicurato che Sun JDK 7 64-bit era la versione Java predefinita. Quando ho digitato "Java -version" dalla riga di comando (cmd.exe), Sun JDK 7 a 64 bit è stato restituito ...

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)

Questo non ha risolto il problema per me.

CosaHA FATTOlavoro:

Aggiunta dell'opzione -vm a Eclipse.ini come suggerito da Jayesh Kavathiya:

Ho aggiunto quanto segue a Eclipse.ini:

-vm
C:/apps/Java/jdk7-64bit/bin/javaw.exe

Nota:

Non ho dovuto disinstallare nessuna delle varie versioni di JDK o JRE che ho sulla mia macchina.

30
Sunny Sarkar

Per un file jvm.dll mancante, possiamo fornire il percorso del file dll nel file Eclipse.ini come

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

Qui è importante rimuovere qualsiasi spazio nel percorso e le doppie virgolette. Ha funzionato per me quando ho rimosso le virgolette e lo spazio.

Spero che aiuti qualcuno.

18
Stalin Gino

Ho avuto un problema simile. È stato risolto facendo quanto segue.

  • Sposta Eclipse in Programmi (non in Programmi (x86) ).
  • Rimuovere il percorso della versione a 32 bit di Java dalla variabile di ambiente 'percorso'.

Ho entrambe le versioni di Java installate, ma Eclipse continuava a provare a usare quello a 32 bit.

11
misterfrb

Certo, devi avere una versione compatibile di JDK ed Eclipse, ma devi anche aggiungere nel file Eclipse.ini le righe seguenti:

-vm
yourdrive\Java\bin

Creale le prime due righe del tuo file Eclipse.ini.

10
Deepak Tyagi

Come molti hanno già accennato, questo è un problema 32 vs 64 bit per Eclipse e Java . Non è possibile mescolare 32 e 64 bit. Poiché Eclipse non usa Java_HOME, probabilmente dovrai modificare il PATH prima di avviare Eclipse per assicurarti di utilizzare non solo la versione appropriata di Java, ma anche se 32 o 64 bit (o modificare il INI file come notato da Jayath).

Se si sta installando Eclipse da una condivisione aziendale, è necessario assicurarsi di sapere quale versione di Eclipse si sta decomprimendo e decomprimere nella directory Program Files appropriata per tenere traccia di quale è, quindi modificare la PERCORSO (in modo permanente tramite il pannello di controllo (Windows) -> Sistema o impostare PATH=/path/to/32 or 64bit/Java/bin;%PATH% (magari creare un file batch se non si desidera impostarlo nel sistema e/o nelle variabili di ambiente dell'utente). Ricordare che 32-bit è in Programmi (x86) .

Se non sei sicuro, avvia Eclipse, se ottieni l'errore, modifica il PATH all'altra versione "bit" di Java, quindi riprova. Quindi spostare la directory Eclipse nella directory Program Files appropriata.

8
Marc Towersap

In alternativa, ottenere la stessa versione "bit" di JRE ed Eclipse e quindi creare un nuovo collegamento con il target sottostante (sostituire il percorso/percorso JRE ed Eclipse installati):

"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

Questo dovrebbe fare il trucco.

7
Kevin Yap

Puoi risolvere il problema come molti altri replicati. È necessario che Eclipse e JDK sia 32 bit o entrambi su 64-bit . L'architettura del sistema operativo non ha importanza mentre gli altri rimangono sullo stesso tipo di architettura.

7
Ignacio

Le risposte sopra di me mi hanno fatto tentare così tanto che ho deciso di eseguire tutte le possibili combinazioni con OS, Eclipse e JVM trio.) Comunque, chi sta scavando e leggendo il mio post, controlla il seguente come hot spot (sono utente di Windows 7).

  1. Comprendi Programmi e Programmi (x86) sono due cartelle diverse ... x86 sta per la versione a 32 bit dei programmi e la prima è la Versione a 64 bit.

  2. Se hai più versioni di Java installato con diverse versioni di bitness e release, che è destinato a succedere con così tanti open source IDE , manager, console amministrative, l'opzione migliore è impostare il VM argomento direttamente nel file Eclipse.ini. Se non lo fai, Eclipse impazzirà e cercherà di cercare se stesso che non va bene.

6
sayannayas

Uno dei modi più semplici per risolverlo è copiare la cartella jre da JDK installato nella cartella di installazione di Eclipse. Assicurati che il JDK di cui fai la copia sia la stessa dell'installazione di Eclipse.

Ho dovuto configurare la mia macchina in quel modo, perché eseguo sia Eclipse e Appcelerator Titanium Studio sulla mia macchina. Studio ha bisogno di Java a 32 bit, mentre Eclipse ha bisogno di 64 bit.

6
Mike Starov

Basta controllare la variabile d'ambiente PATH. In Risorse del computer -> Proprietà -> Sistema avanzato impostazioni -> Variabili di ambiente -> (finestra superiore sinistra "Variabili utente per" un nome di PC "") solo controllare la variabile PATH. Se non esiste, crearlo con il seguente -> C:\Programmi (x86)\Java\jre7\bin <-

Ho dovuto affrontare lo stesso problema dopo aver aggiornato il mio Eclipse. Ho trovato che il percorso ha richiesto la versione a 64 bit, ma ho avuto il 32-bit in percorso dif. È stato utile per me. P.S .: Ho un sistema operativo a 64 bit, JRE a 32 bit e Eclipse a 32 bit. Tutto funziona bene :)

5
user1600401

Sì, assicurati che le tue versioni di Eclipse e JDK siano entrambe a 64 bit. Solo per assicurarsi che tutto sia corretto disinstallato JDK e installarlo in Programmi e non in Programmi (x86) . Almeno questo ha risolto il mio problema.

5
Jeena

Dovresti disinstallare tutti i vecchi [JRE] [1] e poi installare il più recente ... Ho avuto lo stesso problema e ora lo risolvo. Io ho:

Meglio installare Jre 6 a 32 bit. Funziona veramente.

5
Marcin Erbel

Ho avuto lo stesso problema dopo l'aggiornamento da Java 6 a Java 7. Dopo aver rimosso Java 6 (64 bit) e reinstallato Java 7 (64 bit), Eclipse ha funzionato. :)

4
Supun Sameera

Grazie misterfrb , mi sono reso conto che Eclipse stava dando questo errore, perché avevo appena installato Oracle 10g Developer suite , e cercavo il file jvm.dll nella cartella C:\DevSuiteHome_1 (devo aver optato per per installare nuovamente JDK insieme alla suite di sviluppo).

Dopo aver rimosso le linee DevSuiteHome dalla variabile dei percorsi e aggiunto il percorso di correzione per jvm.dll a 64 bit (non sono sicuro se fosse necessario, non abbiamo provato senza), Eclipse ha funzionato di nuovo e la suite Developer lo fa ancora.

4
Unegma

JVM a 64 bit scaricata dal sito e installata manualmente e aggiornata la variabile del percorso di sistema. Questo ha risolto il problema.

  1. La JVM predefinita è installata nel mio sistema era in "C:\Programmi"
    (X86)\Java\jre7"
  2. JVM installato manualmente è stato installato in "C:\Programmi\Java\jre7" e dopo aver aggiornato questo patino alla variabile del percorso di sistema ha funzionato.
4
Satya

Semplice, ho un sistema operativo a 64 bit, 32 bit Eclipse ed entrambi i JDK 32 e 64 installati ... Ho appena disinstallato il JDK a 64 bit e Eclipse funziona perfettamente.

4
PushkarHJoshi

Voglio precedere un'altra soluzione per questo errore, in particolare per chi desidera utilizzare Eclipse a 32 e 64 bit in un unico sistema.

Eclipse si avvierà utilizzando il JRE/JDK nella sottodirectory jre se esiste. (Anche STS o altri _ basati su Eclipse IDE supportano questa funzione ...)

La soluzione è creare la giunzione della directory usando il comando mklink.exe che esiste in Windows Vista o nella versione più recente ( junction.exe offre una funzione simile per Windows 2000/XP)
Apri le finestre della riga di comando ed esegui il seguente comando:

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

Naturalmente, se Eclipse è per Windows a 64 bit, l'architettura di JDK/JRE deve essere la stessa.

Assumere:

  • Eclipse for windows x86_64 è installato in d:\devTool\Eclipse
  • JDK for windows x64 è installato in C:\Programmi\Java\jdk1.8.0

Il comando per creare la cartella jre sarà:

mklink/j "d:\devTool\Eclipse\jre" "C:\Programmi\Java\jdk1.8.0"

BTW, cancella directory junction willNOTcancella qualsiasi file. Se si crea un collegamento errato, è possibile eliminarlo utilizzando il comando File Explorer o rmdir.

rmdir "d:\devTool\Eclipse\jre"

3
Beck Yang

È fondamentale aggiungere il parametro -vm e il suo valore su 2 righe AT L'INIZIO di Eclipse.ini

-vm C:\Programmi\Java\jdk1.7.0_45\bin\javaw.exe

3
Rolf

Assicurati di avviare Eclipse con i diritti di amministratore.

3
Here to Help

Hai cambiato la versione corretta di Java_HOME e PATH in variabili ambientali.

2
Sreedhar GS

Nella pagina di download di Eclipse, dovrebbe essere scritto "JRE 32 bit" o "JRE 64 bit" e non "Windows 32 bit" o "Windows 64 bit".

Assicurati di utilizzare la versione corretta compatibile con il tuo JDE, come risposta in precedenza.

2
A_rnO

È possibile installare la versione a 32 bit di JDK su un computer a 64 bit. VediDownload di JDK 7.

2

Se si usa un intero trio a 64 bit e ancora non funziona (sono arrivato a questo problema durante l'avvio di Android Monitor in Intellij Idea), probabilmente jvm.dll sbagliato viene usato in opposizione a ciò che si aspetta Java. Segui questi passaggi:

  1. Trova il file jvm.dll nella tua directory JRE: C:\Program Files\Java\jre7\server\bin\jvm.dll

  2. Trova il file jvm.dll nella tua directory JDK: c:\Program Files\Java\jdk1.7.0_xx\jre\bin\server\

  3. Copia il jvm.dll dalla dritta di JRE nella tua directory JDK e sovrascrivi il jvm.dll in JDK.

Non dimenticare di fare un backup, per ogni evenienza. Non è necessario installare o disinstallare nulla relativo a Java.

2
rootpd

Lo stesso è successo a me. Avevo Eclipse a 64 bit, ma il mio JDK era a 32 bit. Così ho installato la versione a 64 bit ed è OK adesso.

2
felipe.zkn

Non so perché, ma ho installato il jre nella mia directory c:\windows e Java.exe e javaw.exe nella mia directory windows\system32.

Ovviamente queste directory avevano priorità anche dopo aver aggiunto il flag -vm al mio file Eclipse.ini.

Cancellarli da qui ha risolto il problema per me.

2
Guy Lowe

E per PDT users - avoid the pagina di download di Zend - non sono collegati download a 64 bit.

Usa il sito stesso di Elipse .

Il precedente collegamento aveva un precedente Eclipse 3.6 che non è riuscito ad aggiornarsi a causa di Eclipse Bug # 317785 .

La mia soluzione consisteva nell'installare Java a 32 bit a 64 bit: questo consentiva il funzionamento del programma di installazione Zend .

È deprimente quella quantità di Java/Eclipse che si deve attraversare per ottenere un PHP IDE.

2
cloakedninjas

Nel mio caso, ho provato a lanciare Java dal prompt dei comandi e ho ricevuto questo errore

Errore: impossibile aprire "C:\Windows\jre\lib\AMD64\jvm.cfg"

Significava che "Java" era cercato nel PATH a partire da questa directory sbagliata. Eliminazione della cartella C:\Windows\jre\risolto il problema

1
Federico Giorgi

Ho riscontrato tutti gli errori di Eclipse e questo è uno di questi. Il problema è la versione a 64 bit di Eclipse. Scarica la versione a 32 bit e avvialo.

0
sadegh saati

La soluzione più semplice è includere un JRE specifico in Eclipse.ini:

wiki.Eclipse.org/Eclipse.ini

Con questo, puoi avviare quasi tutte le versioni di Eclipse

0
keesp

Ho avuto lo stesso problema. con 64 bit os tutti dovrebbero essere a 64 bit. Java ed Eclipse. Ho provato tutti i metodi in StackOverflow e anche su YouTube. non hanno funzionato per me fino a quando ho trovato questo metodo facile.

Ho installato il download Cnet in formato Java a 64 bit e il problema è stato risolto automaticamente. Ho citato la fonte perché è troppo facile andare su google e andare al primo lanugine Cnet piuttosto che al sito oficial se sei una nuova ape.

post scriptum se hai un pacchetto ADT Android e hai provato ad aprire Eclipse da esso e hai ottenuto lo stesso errore, puoi risolvere anche questo problema con questo metodo.

0
Priyankara

Questo errore che stiamo ottenendo a causa della diversa versione di Java scarica la versione a 32 bit.

0
vaquar khan

Installare JDK 1.8._91 (modalità mista) è un'altra soluzione per questo!

0
HaryTD