web-dev-qa-db-fra.com

Impossible de charger la bibliothèque partagée JNI (JDK)

Lorsque j'essaie d'ouvrir Eclipse , une boîte de dialogue contextuelle indique:

Impossible de charger la bibliothèque partagée JNI "C: /JDK/bin/client/jvm.dll" `.

Suite à cela, la force Eclipse se ferme.

Voici quelques points que j'aimerais souligner:

  • J'ai vérifié pour voir si quelque chose existe sur ce chemin. Ça existe.
  • Mon Eclipse et Kit de développement Java SE sont tous deux en 64 bits. J'ai vérifié mon système et il peut gérer 64 bits.
  • J'ai cherché ce problème sur Google et sur Stack Overflow, et la seule solution que j'ai trouvée était de télécharger les versions 32 bits de JDK et Eclipse.

Le téléchargement des versions 32 bits est quelque chose que je ne souhaite faire qu'en dernier recours.
Que suggéreriez-vous pour résoudre ce problème?

904
Mxyk

Vous avez besoin d'un 64-bit trio:

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

Couplages de travail entre OS, JDK et Eclipse:


  • 32-bitOS | 32-bitJDK | 32-bit Eclipse ( 32 bits uniquement )
  • 64-bitOS | 32-bitJDK | 32-bit Eclipse
  • 64-bitOS | 64-bit JDK | 64bit Eclipse ( 64 bits uniquement )

J'ai eu plusieurs JDK et JRE installés.

Chacun d’entre eux avait sa propre entrée dans la variable PATH, tout fonctionnait plus ou moins.

À en juger par les variables PATH, certaines installations étaient totalement inutiles, car elles n’ont jamais été utilisées. Bien sûr, les javas "inactifs" pourraient être référencés manuellement depuis Eclipse si j'en avais besoin, mais je ne l'ai jamais fait, alors je n'en ai vraiment pas besoin. (Du moins je le pensais à ce moment-là ...)

J'ai nettoyé le désordre, désinstallé tous les Java actuels, installé uniquement JDK + JRE 1.7 64 bits.

Une des "installations" d’Eclipse a ensuite échoué avec le Failed to Load the JNI shared Library et un chemin donné par rapport au JDK nouvellement installé où il pensait que le jvm.dll était.

Eclipse défaillant est le seul de mes IDE à être encore une version 32 bits de ma configuration sinon entièrement 64 bits.

Ajouter les arguments VM, comme on l'a si souvent mentionné, dans le Eclipse.ini n'était d'aucune utilité dans mon cas (parce que je n'avais que le mauvais JDK/JRE à associer.)

Je ne pouvais pas non plus savoir comment vérifier si cet Eclipse était une version 32 bits ou 64 bits (je ne pouvais pas le rechercher dans le Gestionnaire des tâches , car cette "installation" Eclipse ne serait pas Et comme cela faisait longtemps que je ne l’avais pas installée, je ne me souvenais plus de sa version.)

Si vous utilisez un nouveau kit JDK et un ancien JRE vous risquez également d'avoir des problèmes, mais il est plus probable qu'un Java.lang.UnsupportedClassVersionError apparaisse, IIRC .

305
sjas

Assurez-vous que votre fichier _Eclipse.ini_ comprend les lignes suivantes.

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

Mon Eclipse.ini par exemple:

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

Utilisez OS et Eclipse à la fois en 64 bits ou en 32 bits, et conservez le même et config Eclipse.ini.

Votre fichier _Eclipse.ini_ peut être trouvé dans votre dossier Eclipse.

260
jayesh kavathiya

J'ai eu le même problème

Je l'ai résolu en installant une machine virtuelle Java 64 bits à partir de

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

57
Farm

Cette erreur signifie que l’architecture d’Eclipse ne correspond pas à celle du runtime Java, c’est-à-dire que si l’un est 32 bits, l’autre doit être identique, et non 64 bits.

Le correctif le plus fiable consiste à spécifier l'emplacement de la machine virtuelle Java dans Eclipse.ini:

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

Important: Ces deux lignes doivent venir avant -vmargs. Ne pas utiliser de citations; les espaces sont autorisés.

40
Peter Tseng

Une autre option est:

Créez un raccourci vers Eclipse.exe. Ouvrez le raccourci et remplacez la cible par:

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

Pour votre installation, assurez-vous que les emplacements pointent vers le bon répertoire d'installation Eclipse et le bon répertoire d'installation javaw.exe.

(Les versions 64/32 bits d'Eclipse et Java doivent être identiques, bien entendu.)

32
spannow

Pour un fichier jvm.dll manquant, nous pouvons fournir le chemin du fichier dll dans le fichier Eclipse.ini comme

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

Ici, il est important de supprimer tout espace dans le chemin et les guillemets. Cela a fonctionné pour moi quand j'ai enlevé les guillemets et l'espace.

J'espère que ça aide quelqu'un.

18
Stalin Gino

J'avais un problème similaire. Il a été résolu en procédant comme suit.

  • Déplacez Eclipse vers Program Files (pas vers Program Files (x86)).
  • Supprimez le chemin d'accès à la version 32 bits de Java de la variable d'environnement 'chemin'.

Les deux versions de Java sont installées, mais Eclipse a continué d'essayer d'utiliser la version 32 bits.

11
misterfrb

Bien sûr, vous devez disposer d'une version compatible de JDK et d'Eclipse, mais vous devez également ajouter dans le fichier Eclipse.ini les lignes ci-dessous:

-vm
yourdrive\Java\bin

Faites-en les deux premières lignes de votre fichier Eclipse.ini.

10
Deepak Tyagi

Comme beaucoup de gens l'ont déjà mentionné, il s'agit d'un problème 32/64 bits pour Eclipse et Java . Vous ne pouvez pas mélanger 32 et 64 bits. Etant donné qu'Eclipse n'utilise pas Java_HOME, vous devrez probablement modifier votre PATH avant de lancer Eclipse pour vous assurer que vous utilisez non seulement la version appropriée de Java, mais également si la version 32 ou 64 bits (ou la modification de la INI comme l'a noté Jayath).

Si vous installez Eclipse à partir d'un partage de société, assurez-vous de pouvoir déterminer la version d'Eclipse que vous décompressez et décompressez-la dans le répertoire approprié Program Files . pour aider à savoir lequel est lequel, puis changez le PATH (soit en permanence via le Panneau de configuration (Windows) -> Système ou définissez PATH=/path/to/32 or 64bit/Java/bin;%PATH% (peut-être créer un fichier de commandes si vous ne souhaitez pas le définir dans votre système et/ou les variables d’environnement de l’utilisateur) Rappelez-vous que la version 32 bits est en Fichiers de programme (x86) .

En cas de doute, lancez simplement Eclipse. Si vous obtenez l'erreur, remplacez votre PATH par l'autre version "un peu" de Java, puis réessayez. Déplacez ensuite le répertoire Eclipse vers le répertoire approprié Program Files .

7
Marc Towersap

Vous pouvez également obtenir la même version "bit" de JRE et Eclipse, puis créer un nouveau raccourci avec la cible ci-dessous (remplacer le JRE et l'emplacement/chemin Eclipse installés):

"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

Cela devrait faire l'affaire.

6
Kevin Yap

Vous pouvez résoudre ce problème comme beaucoup d’autres répliqués. Vous avez besoin que Eclipse et le JDK soit 32 bits ou les deux sur 64 bits . L'architecture de l'OS n'a pas d'importance alors que les autres restent sur le même type d'architecture.

6
Ignacio

Les réponses ci-dessus m'ont tellement tenté que j'ai décidé d'essayer toutes les combinaisons possibles avec OS, Eclipse et JVM trio. Quoi qu'il en soit, quiconque creuse et lit mon message, vérifiez les points suivants en tant que point chaud (je suis un utilisateur de Windows 7).

  1. Vous comprenez les fichiers de programme et le fichier de programme (x86) sont deux dossiers différents. ... x86 représente la version 32 bits des programmes et la version précédente est la version 64 bits.

  2. Si vous avez plusieurs versions de Java installées avec différentes versions et versions, ce qui est inévitable avec autant d'open source IDE , gestionnaires, consoles d'administration, la meilleure option est pour définir l'argument VM directement dans le fichier Eclipse.ini. Sinon, Eclipse deviendra fou et tentera de se chercher lui-même, ce qui n’est pas bon.

5
sayannayas

L'un des moyens simples de le résoudre consiste à copier le dossier jre à partir du JDK installé dans le dossier d'installation Eclipse. Assurez-vous que le JDK que vous copiez a la même architecture que votre installation Eclipse.

J'ai dû configurer ma machine de cette façon, car je lance à la fois Eclipse et Appcelerator Titanium Studio sur ma machine. Le studio nécessite Java 32 bits, tandis qu'Eclipse a besoin de 64 bits.

5
Mike Starov

Il suffit de vérifier la variable d’environnement PATH. Dans Poste de travail -> Propriétés -> Système avancé paramètres -> Variables d'environnement -> (fenêtre supérieure gauche " Variables utilisateur pour "un nom de PC" ") il suffit de vérifier la variable PATH. S'il n'existe pas, créez-le avec les éléments suivants -> C:\Program Files (x86)\Java\jre7\bin <-

J'ai été confronté au même problème après avoir mis à jour mon Eclipse. J'ai trouvé que le chemin demandait la version 64 bits, mais j'avais le chemin 32 bits en dif. Cela m'a été utile. P.S .: J'ai un système d’exploitation 64 bits, JRE 32 bits et Eclipse 32 bits. Tout fonctionne bien :)

4
user1600401

Oui, assurez-vous simplement que vos versions d'Eclipse et JDK sont toutes les deux en 64 bits. Juste pour vous assurer que tout est correct, désinstallez JDK et installez-le dans Program Files et non dans Program Files (x86) . Au moins, cela a résolu mon problème.

4
Jeena

Vous devez désinstaller tous les anciens [JRE] [1] puis installer le plus récent ... J'ai eu le même problème et maintenant je le résous. J'ai:

Mieux installer Jre 6 32 bits. Ça marche vraiment.

4
Marcin Erbel

Je souhaite éviter une autre solution à cette erreur, en particulier pour ceux qui souhaitent utiliser Eclipse 32 bits et 64 bits dans un système.

Eclipse démarrera à l’aide du JRE/JDK du sous-répertoire jre s’il existe. (STS ou un autre système basé sur Eclipse IDE prend également en charge cette fonctionnalité ...)

La solution consiste à créer une jonction de répertoire à l'aide de la commande mklink.exe qui existe dans Windows Vista ou une version plus récente ( junction.exe offre une fonction similaire pour Windows 2000/XP).
Ouvrez la fenêtre de ligne de commande et la commande suivante exeute:

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

Bien entendu, si Eclipse est destiné à Windows 64 bits, l’architecture de JDK/JRE doit être identique.

Présumer:

  • Eclipse for windows x86_64 est installé dans d:\devTool\Eclipse
  • JDK for windows x64 est installé dans C:\Program Files\Java\jdk1.8.0

La commande pour créer le dossier jre sera:

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

BTW, supprimer la jonction du répertoire sera PAS supprimer tous les fichiers. Si vous créez un lien incorrect, vous pouvez le supprimer à l'aide de l'explorateur de fichiers ou de la commande rmdir.

rmdir "d:\devTool\Eclipse\jre"

3
Beck Yang

Il est crucial d’ajouter le paramètre -vm et sa valeur sur 2 lignes AT LE DÉBUT du fichier Eclipse.ini

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

3
Rolf

J'ai eu le même problème après la mise à niveau de Java 6 à Java 7. Après avoir supprimé Java 6 (64 bits) et réinstallé Java 7 (64 bits), Eclipse a fonctionné. :)

3
Supun Sameera

Merci misterfrb , je me suis rendu compte que Eclipse donnait cette erreur, car je venais d'installer suite Oracle 10g Developer , et était à la recherche du fichier jvm.dll dans le dossier C:\DevSuiteHome_1 (je dois avoir choisi d'installer à nouveau JDK avec la suite de développeurs).

Après avoir supprimé les lignes de DevSuiteHome de la variable de chemins et ajouté l'emplacement de correction pour jvm.dll 64 bits (vous n'êtes pas sûr si cela était nécessaire, vous n'avez pas essayé sans), Eclipse a fonctionné à nouveau et la suite Developer l'est toujours.

3
Unegma

JVM 64 bits téléchargée depuis le site, installée manuellement et mise à jour la variable de chemin d'accès système. Cela a résolu le problème.

  1. JVM par défaut est installé dans mon système était dans "C:\Program Files
    (x86)\Java\jre7 "
  2. La machine virtuelle Java installée manuellement a été installée dans "C:\Program Files\Java\jre7" et, après la mise à jour de cette variable en variable de chemin système, elle a fonctionné.
3
Satya

Simple, j'ai un système d'exploitation 64 bits, 32 bits Eclipse et JDK 32 et 64 installés ... Je viens de désinstaller le JDK 64 bits et Eclipse fonctionne bien ..

3
PushkarHJoshi

Vous devez modifier la version appropriée de Java_HOME et PATH dans les variables d'environnement.

2
Sreedhar GS

Assurez-vous de démarrer Eclipse avec les droits d'administrateur.

2
Here to Help

Si vous utilisez un trio 64 bits entier et que cela ne fonctionne toujours pas (je suis arrivé à ce problème en lançant Android Monitor dans Intellij Idea), le mauvais jvm.dll est probablement utilisé contrairement à ce que votre Java attend. Il suffit de suivre ces étapes:

  1. Recherchez le fichier jvm.dll dans votre répertoire JRE: C:\Program Files\Java\jre7\server\bin\jvm.dll

  2. Recherchez le fichier jvm.dll dans votre répertoire JDK: c:\Program Files\Java\jdk1.7.0_xx\jre\bin\server\

  3. Copiez le jvm.dll de JRE drectory dans votre répertoire JDK et remplacez le fichier jvm.dll dans JDK.

N'oubliez pas de faire une sauvegarde, au cas où. Pas besoin d'installer ou de désinstaller quoi que ce soit lié à Java.

2
rootpd

La même chose s'est produite pour moi. J'avais Eclipse 64 bits, mais mon JDK était 32 bits. J'ai donc installé la version 64 bits et tout va bien pour le moment.

2
felipe.zkn

Je ne sais pas pourquoi, mais jre a été installé dans mon répertoire c:\windows, ainsi que Java.exe et javaw.exe dans mon répertoire windows\system32.

Évidemment, ces répertoires devenaient prioritaires même APRÈS l'ajout de l'indicateur -vm à mon fichier Eclipse.ini.

Les supprimer d'ici résout le problème pour moi.

2
Guy Lowe

Sur la page de téléchargement d'Eclipse, vous devez écrire "JRE 32 bits" ou "JRE 64 bits" et non "Windows 32 bits" ou "Windows 64 bits".

Veillez à utiliser la version correcte compatible avec votre JDE, comme indiqué précédemment.

1
A_rnO

Vous pouvez installer la version 32 bits de JDK sur un ordinateur 64 bits. Voir JDK 7 téléchargements.

1
Rahul Raghuvanshi

Dans mon cas, j'ai essayé de lancer Java à partir de la commande Invite et cette erreur s'est produite.

Erreur: impossible d'ouvrir "C:\Windows\jre\lib\AMD64\jvm.cfg"

Cela signifiait que "Java" était recherché dans le PATH à partir de ce mauvais répertoire. La suppression du dossier C:\Windows\jre\a résolu le problème.

1
Federico Giorgi

Et pour PDT utilisateurs - , évitez le page de téléchargement de Zend - il n'a pas tous les téléchargements 64 bits liés.

Utilisez le site Elipse lui-même .

Le lien ci-dessus avait un ancien Eclipse 3.6 qui ne pouvait pas se mettre à jour lui-même à cause de Eclipse Bug n ° 317785 .

Ma solution consistait simplement à installer Java 32 bits à côté de 64 bits - cela permettait au programme d'installation Zend de fonctionner.

Il est déprimant que Java/Eclipse soit cruellement nécessaire pour obtenir un PHP IDE.

1
cloakedninjas

J'ai connu toutes les erreurs Eclipse et c'est l'une d'entre elles. Le problème est la version Eclipse 64 bits. Téléchargez la version 32 bits et lancez-la.

0
sadegh saati

La solution la plus simple consiste à inclure un JRE spécifique dans Eclipse.ini:

wiki.Eclipse.org/Eclipse.ini

Avec cela, vous pouvez démarrer presque n'importe quelle version d'Eclipse

0
keesp

J'ai eu le même problème. avec 64 bits os tous devraient être 64 bits. Java et Eclipse. J'ai essayé toutes les méthodes dans stackoverflow et également dans youtube. non d'entre eux a travaillé pour moi jusqu'à ce que j'ai trouvé cette méthode facile.

J'ai installé 64 bits Java form télécharger Cnet et le problème a été corrigé automatiquement. J'ai mentionné la source, car il est trop facile de rechercher sur Google et de commencer par Cint lint plutôt que par le site officiel si vous êtes une nouvelle abeille.

p.s. si vous avez Android ADT bundle et essayez d'ouvrir Eclipse à partir de celui-ci et obtenez la même erreur, vous pouvez résoudre ce problème également avec cette méthode.

0
Priyankara

Nous obtenons cette erreur en raison de la version 32 bits différente de la version Java.

0
vaquar khan

L'installation de JDK 1.8._91 (mode mixte) est une autre solution à cela!

0
HaryTD