java windows eclipse jni

java - Error al cargar la biblioteca compartida de JNI(JDK)



windows eclipse (30)

Cuando intento abrir Eclipse , aparece un cuadro de diálogo emergente:

Error al cargar la biblioteca compartida JNI "C: /JDK/bin/client/jvm.dll" `.

A continuación, se cierra la fuerza de Eclipse.

Aquí hay algunos puntos que me gustaría hacer:

  • Revisé para ver si hay algo en ese camino. Sí existe.
  • My Eclipse y Java SE Development Kit son ambos de 64 bits. Revisé mi sistema, y ​​puedo manejar 64 bits.
  • Busqué este problema en Google y en Stack Overflow, y la única respuesta que encontré fue descargar las versiones de 32 bits de JDK y Eclipse.

Descargar las versiones de 32 bits es algo que solo quiero hacer como último recurso.
¿Qué se sugeriría para resolver este problema?


Conjuntos de trabajo de OS, JDK y Eclipse:

  • SO de 32 bits - JDK de 32 bits - Eclipse de 32 bits (solo 32 bits)
  • SO de 64 bits - JDK de 32 bits - Eclipse de 32 bits
  • SO de 64 bits - JDK de 64 bits - Eclipse de 64 bits (solo de 64 bits)

Tuve varios JDKs y JREs instalados.

Cada uno de ellos tenía su propia entrada en la variable PATH, todo funcionaba más o menos.

A juzgar por las variables PATH, algunas instalaciones fueron completamente inútiles, ya que nunca se usaron. Por supuesto, los Javas "inactivos" podrían ser referenciados manualmente desde Eclipse si lo necesitaba, pero nunca hice eso, así que realmente no los necesitaba. (Al menos así lo pensé en ese momento ...)

Limpié el desorden, desinstalé todas las aplicaciones Java actuales, instalé solo JDK + JRE 1.7 de 64 bits.

Una de las ''instalaciones'' de Eclipse falló posteriormente con la Failed to Load the JNI shared Library y una ruta dada en relación con el JDK recién instalado donde creía que estaba el jvm.dll .

El Eclipse que fallaba era el único de todos mis IDE que todavía era una versión de 32 bits en mi configuración de 64 bits.

Agregar argumentos de VM, como se menciona a menudo, en el eclipse.ini no fue útil en mi caso (porque tenía solo el JDK / JRE incorrecto con el que relacionarme).

Tampoco pude averiguar cómo verificar si este Eclipse era una versión de 32 bits o de 64 bits (no pude buscarlo en el Administrador de tareas , ya que esta ''instalación'' de Eclipse no se iniciaría. Y como no tenía Ha pasado un tiempo desde que lo configuré, tampoco pude recordar su versión.)

En caso de que use un JDK más reciente y un JRE anterior, también podría tener problemas, pero es más probable que aparezca un java.lang.UnsupportedClassVersionError , IIRC .


Alternativamente, obtenga la misma versión de "bit" de JRE y Eclipse y luego cree un nuevo acceso directo con el siguiente objetivo (reemplace la ubicación / ruta de JRE y Eclipse instalada):

"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

Eso debería hacer el truco.


Asegúrese de que está iniciando Eclipse con derechos de administrador.


Asegúrese de que su archivo eclipse.ini incluya las siguientes líneas.

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

Mi eclipse.ini por ejemplo:

-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

Use OS y Eclipse, ambos de 64 bits o ambos de 32 bits se mantienen igual y config eclipse.ini .

Su archivo eclipse.ini se puede encontrar en su carpeta de eclipse.


Basta con comprobar la variable de entorno PATH. En Mi PC -> Propiedades -> Configuración avanzada del sistema -> Variables de entorno -> (ventana superior izquierda "Variables de usuario para" algún nombre de PC "") simplemente verifique la variable PATH. Si no existe, créelo con lo siguiente -> C: / Archivos de programa (x86) / Java / jre7 / bin <-

Me encontré con el mismo problema después de haber actualizado mi Eclipse. Descubrí que la ruta pedía una versión de 64 bits, pero tenía una ruta diferente de 32 bits. Fue útil para mí. PS: Tengo un sistema operativo de 64 bits, JRE de 32 bits y Eclipse de 32 bits. Todo funciona bien :)


Claro, debe tener una versión compatible de JDK y Eclipse, pero también debe agregar en el archivo eclipse.ini las siguientes líneas:

-vm yourdrive/java/bin

Haz que sean las primeras dos líneas de tu archivo eclipse.ini .


Como mucha gente ya aludió, este es un problema de 32 contra 64 bits tanto para Eclipse como para Java . No puedes mezclar 32 y 64 bits. Como Eclipse no usa JAVA_HOME , es probable que tenga que modificar su PATH antes de iniciar Eclipse para asegurarse de que está usando no solo la versión adecuada de Java, sino también de 32 o 64 bits (o modifique el archivo INI como señaló Jayath ).

Si está instalando Eclipse desde una empresa compartida, debe asegurarse de poder saber qué versión de Eclipse está descomprimiendo, y descomprimir en el directorio de Archivos de programa apropiado para ayudar a mantener un registro de cuál es cuál, y luego cambiar el PATH (ya sea de forma permanente a través de ( Windows) Panel de control -> Sistema o establecer PATH=/path/to/32 or 64bit/java/bin;%PATH% (tal vez cree un archivo por lotes si no desea configurarlo en su sistema y / o entorno de usuario variables). Recuerde, 32 bits está en Archivos de programa (x86) .

Si no está seguro, simplemente inicie Eclipse, si recibe el error, cambie su PATH a la otra versión de Java de "bit" e intente nuevamente. Luego mueva el directorio de Eclipse al directorio de Archivos de programa apropiado.


Debes desinstalar todos los [JRE] [1] antiguos y luego instalar el más nuevo ... Tuve el mismo problema y ahora lo soluciono. He:

Mejor instalar Jre 6 32 bit. Realmente funciona.


Descargué la JVM de 64 bits del sitio, la instalé manualmente y actualicé la variable de la ruta del sistema. Eso solucionó el problema.

  1. La JVM predeterminada instalada en mi sistema estaba en "C: / Archivos de programa
    (x86) / Java / jre7 "
  2. La JVM instalada manualmente se instaló en "C: / Archivos de programa / Java / jre7" y, después de actualizar este compás a la variable de la ruta del sistema, funcionó.

En la página de descarga de Eclipse, debe escribirse "JRE 32 bits" o "JRE 64 bits" y no "Windows 32 bits" o "Windows 64 bits".

Asegúrese de usar la versión correcta compatible con su JDE, como se respondió anteriormente.


Es crucial agregar el parámetro -vm y su valor en 2 líneas AL COMIENZO del eclipse.ini

-vm C: / Archivos de programa / Java / jdk1.7.0_45 / bin / javaw.exe


Este error significa que la arquitectura de Eclipse no coincide con la arquitectura del tiempo de ejecución de Java, es decir, si uno es de 32 bits, el otro debe ser el mismo, y no de 64 bits.

La solución más confiable es especificar la ubicación de JVM en eclipse.ini:

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

Importante: Estas dos líneas deben venir antes de -vmargs. No utilice comillas; Se permiten espacios.


Gracias, señor , me di cuenta de que Eclipse estaba dando este error, porque acababa de instalar Oracle 10g Developer Suite , y estaba buscando el archivo jvm.dll en la carpeta C:/DevSuiteHome_1 (debo haber optado por instalar JDK de nuevo). con la suite de desarrolladores).

Después de eliminar las líneas DevSuiteHome de la variable path y agregar la ubicación de corrección para jvm.dll 64 bits (no estoy seguro si esto fue necesario, no lo intenté sin), Eclipse funcionó de nuevo y Developer Suite también lo hace.


Las respuestas sobre mí me tentaron tanto que decidí realizar todas las combinaciones posibles con OS, Eclipse y JVM trio. De todos modos, quienquiera que esté investigando y leyendo mi publicación, verifica lo siguiente como un punto caliente (soy usuario de Windows 7).

  1. Entiende que los Archivos de programa y el Archivo de programa (x86) son dos carpetas diferentes ... x86 significa la versión de 32 bits de los programas y la primera es la versión de 64 bits.

  2. Si tiene varias versiones de Java instaladas con diferentes versiones de bitness y release, lo que está destinado a suceder con tantos IDEs código abierto, administradores y consolas administrativas, la mejor opción es establecer el argumento de VM directamente en el archivo eclipse.ini . Si no lo haces, Eclipse se volverá loco e intentará buscarse, lo que no es bueno.


Lo mismo se me ocurrió. Tenía Eclipse de 64 bits, pero mi JDK era de 32 bits. Así que instalé la versión de 64 bits y está bien ahora.


Necesitas un trío de 64 bits:

  • SO de 64 bits
  • Java de 64 bits
  • Eclipse de 64 bits

No estoy seguro de por qué, pero tuve el jre instalado en mi directorio c: / windows y java.exe y javaw.exe dentro de mi directorio windows / system32.

Obviamente, estos directorios tenían prioridad incluso DESPUÉS de agregar la marca -vm a mi archivo eclipse.ini.

Eliminarlos de aquí solucionado el problema para mí.


Otra opción es:

Cree un acceso directo al Eclipse.exe. Abra el acceso directo y cambie el objetivo a:

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

Para su instalación, asegúrese de que las ubicaciones apunten al directorio de instalación de Eclipse correcto y al directorio de instalación de javaw.exe correcto.

(Las versiones de 64/32 bits de Eclipse y Java deben ser las mismas, por supuesto).


Para un archivo jvm.dll faltante, podemos proporcionar la ruta del archivo dll en el archivo eclipse.ini como

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

Aquí es importante eliminar cualquier espacio en la ruta y las comillas dobles. Funcionó para mí cuando quité las comillas y el espacio.

Espero que esto ayude a alguien.


Puede instalar la versión de 32 bits de JDK en una máquina de 64 bits. Ver JDK 7 descargas .


Puede resolver ese problema como muchos otros replicados. Necesita que Eclipse y el JDK sean de 32 bits o ambos en 64 bits . La arquitectura del sistema operativo no importa, mientras que las otras se mantienen en el mismo tipo de arquitectura.


Sí, solo asegúrese de que sus versiones de Eclipse y JDK sean ambas de 64 bits. Solo para asegurarse de que todo esté correctamente desinstalado JDK e instalarlo en Archivos de programa y no en Archivos de programa (x86) . Al menos eso resolvió mi problema.


Si usa un trío completo de 64 bits y aún no funciona (he llegado a este problema mientras ejecutaba el Monitor de Android en Intellij Idea), probablemente se esté usando el jvm.dll incorrecto en oposición a lo que su Java espera. Solo sigue estos pasos:

  1. Encuentre el jvm.dll en su directorio JRE: C:/Program Files/Java/jre7/server/bin/jvm.dll

  2. Encuentre el jvm.dll en su directorio JDK: c:/Program Files/Java/jdk1.7.0_xx/jre/bin/server/

  3. Copie el jvm.dll de JRE drectory en su directorio JDK y sobrescriba el archivo jvm.dll en JDK.

No te olvides de hacer una copia de seguridad, por si acaso. No es necesario instalar ni desinstalar nada relacionado con Java.


Simple, tengo un sistema operativo de 64 bits, Eclipse 32 bits y ambos JDK 32 y 64 instalados ... Acabo de desinstalar el JDK de 64 bits y Eclipse funciona bien.


Tengo varias versiones de Java instaladas, tanto Sun JDK como JRockit, tanto de 32 bits como de 64 bits, etc., y encontré este problema con una instalación nueva de Eclipse de 64 bits para Java EE (JUNO).

Lo que NO funcionó:

Trío de 64 bits como lo sugiere Peter Rader:

Estoy utilizando Eclipse de 64 bits en sistemas operativos de 64 bits (Windows 7).

Aseguré que Sun JDK 7 de 64 bits fuera la versión java predeterminada. Cuando escribí "java -version" desde la línea de comandos (cmd.exe), se devolvió Sun JDK 7 de 64 bits ...

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)

Esto no resolvió el problema para mí.

¿Qué trabajo DID :

Agregando la opción -vm a eclipse.ini como lo sugiere Jayesh Kavathiya:

Agregué lo siguiente a eclipse.ini:

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

Nota:

No tuve que desinstalar ninguna de las distintas versiones de JDK o JRE que tengo en mi máquina.



Tuve el mismo problema después de actualizar de Java 6 a Java 7. Después de quitar Java 6 (64 bits) y reinstalar Java 7 (64 bits), Eclipse funcionó. :)


Tuve un problema similar. Se resolvió haciendo lo siguiente.

  • Mueva Eclipse a Archivos de programa (no a Archivos de programa (x86) ).
  • Elimine la ruta a la versión de 32 bits de Java de la variable de entorno ''ruta''.

Tengo ambas versiones de Java instaladas, pero Eclipse siguió intentando usar una de 32 bits.


Una de las maneras fáciles de resolverlo es copiar la carpeta jre desde el JDK instalado en la carpeta de instalación de Eclipse. Asegúrese de que el JDK desde el que copia es la misma arquitectura que su instalación de Eclipse.

Tuve que configurar mi máquina de esa manera, porque ejecuto Eclipse y Appcelerator Titanium Studio en mi máquina. El estudio necesita Java de 32 bits, mientras que Eclipse necesita 64 bits.


Y para los usuarios de PDT , evite la página de descargas de Zend , no tiene ninguna descarga de 64 bits vinculada.

Utilice el sitio Elipse en sí .

El enlace anterior tenía un Eclipse 3.6 más antiguo que luego no pudo actualizarse debido al error # 317785 de Eclipse .

Mi solución fue instalar Java de 32 bits junto con 64 bits, lo que permitió que el instalador de Zend funcionara.

Es deprimente que la cantidad de Java / Eclipse cruft que uno tiene que pasar para obtener un IDE de PHP.