Error al cargar la biblioteca compartida JNI (JDK)


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

No se pudo cargar la biblioteca compartida de JNI "C:/JDK/bin/client/jvm.DLL"`.

Después de esto, la fuerza del eclipse se cierra.

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

  • Revisé para ver si hay algo en ese camino. Existe.
  • My Eclipse y Java SE Development Kit son ambos de 64 bits. Revisé mi sistema, y puede manejar 64 bits.
  • He 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?

Author: Mxyk, 2011-09-08

30 answers

Necesitas un trío de 64 bits:

  • Sistema operativo de 64 bits
  • Java de 64 bits
  • Eclipse de 64 bits
 814
Author: Peter Rader,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-02-04 10:17:46

Emparejamientos de trabajo de OS, JDK y Eclipse:


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

Tuve varios JDKs y JREs instalados.

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

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

Limpié el desorden, desinstalé todos los Java actuales, instalé solo JDK + JRE 1.7 de 64 bits.

Una de las 'instalaciones' de Eclipse falló después con el Failed to Load the JNI shared Library y una ruta dada en relación con el JDK recién instalado donde pensó que el jvm.dll ser.

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

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

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

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

 296
Author: sjas,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-02-17 18:00:41

Asegúrese de que su eclipse.el archivo ini incluye 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 64 bits o ambos 32 bits mantenga igual y config eclipse.ini .

Tu eclipse.el archivo ini se puede encontrar en su carpeta eclipse.

 254
Author: jayesh kavathiya,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-09-10 13:39:52

Tuve el mismo problema

Lo resolví instalando JVM de 64 bits desde

Http://www.java.com/en/download/manual.jsp

 56
Author: Farm,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-10-07 01:08:43

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

La solución más fiable 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.

 35
Author: Peter Tseng,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-11-20 03:16:04

Otra opción es:

Crea un acceso directo al Eclipse.exe. Abra el acceso directo y cambie el destino 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 apuntan al directorio de instalación correcto de Eclipse y al directorio de instalación correcto de javaw.exe.

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

 31
Author: spannow,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-02-17 18:12:09

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

Lo que hizo NO trabajo:

Trío de 64 bits sugerido por Peter Rader:

Estoy usando Eclipse de 64 bits en el sistema operativo de 64 bits (Windows 7).

Me aseguré de que Sun JDK 7 de 64 bits fuera la versión predeterminada de Java. Cuando escribí "java-version" desde la línea de comandos (cmd.exe), Sun JDK 7 64-bit fue devolver...

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

Lo que HIZO trabajo:

Añadiendo la opción-vm a eclipse.ini como sugiere Jayesh Kavathiya:

He añadido lo siguiente a eclipse.ini:

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

Nota:

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

 29
Author: Sunny Sarkar,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-10-02 19:23:48

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

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

Aquí es importante eliminar cualquier espacio en el camino y las comillas dobles. Funcionó para mí cuando eliminé las citas y el espacio.

Espero que ayude a alguien.

 17
Author: Stalin Gino,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-03-05 08:04:50

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

  • Mover 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 'path'.

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

 9
Author: misterfrb,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-02-17 17:56:53

Claro, necesita 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

Hazlas las dos primeras líneas de tu archivo eclipse.ini.

 9
Author: Deepak Tyagi,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-02-17 18:09:18

Como muchas personas ya han mencionado, este es un problema de 32 vs.64 bits para Eclipse y Java. No se puede mezclar 32 y 64 bits. Dado que Eclipse no usa JAVA_HOME, es probable que tenga que alterar su RUTA antes de lanzar Eclipse para asegurarse de que está utilizando no solo la versión apropiada de Java, sino también si es de 32 o 64 bits (o modificar el archivo INI como Jayath señaló).

Si está instalando Eclipse desde una empresa compartida, debe asegurarse de que puede decir qué Eclipse versión que está descomprimiendo, y descomprime en el directorio apropiado Archivos de programa para ayudar a realizar un seguimiento de cuál es cuál, luego cambie la ruta (ya sea permanentemente a través del Panel de Control (Windows) - > 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 variables de entorno de usuario). Recuerde, 32 bits está en Archivos de programa (x86) .

Si no está seguro, simplemente inicie Eclipse, si obtiene el error, cambie su RUTA a la otra versión ' bit ' de Java, y luego inténtalo de nuevo. Luego mueva el directorio Eclipse al directorio apropiado Archivos de programa.

 7
Author: Marc Towersap,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-02-17 18:06:32

Alternativamente, obtenga la misma versión" bit " de JRE y Eclipse y luego cree un nuevo acceso directo con el siguiente destino (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.

 6
Author: Kevin Yap,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-02-17 18:07:21

Puede resolver ese problema como muchos otros replicados. Necesitas que Eclipse y el JDK sean de 32 bits o ambos en 64 bits . La arquitectura del sistema operativo no importa mientras que las demás permanecen en el mismo tipo de arquitectura.

 6
Author: Ignacio,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-02-17 18:10:53

Las respuestas anteriores me tentaron tanto, que decidí ensayar todas las combinaciones posibles con OS, Eclipse y JVM trio. De todos modos, quienquiera que esté cavando y leyendo mi publicación, verifique 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 de 64 bits versión.

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

 6
Author: sayannayas,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-10-14 12:58:58

Una de las formas 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 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 yo ejecutar Eclipse y Appcelerator Titanium Studio en mi máquina. El Estudio necesita Java de 32 bits, mientras que Eclipse necesita 64 bits.

 5
Author: Mike Starov,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-02-17 18:08:38

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

 5
Author: Jeena,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-02-17 18:10:07

Simplemente compruebe la variable de entorno PATH. En Mi Ordenador - > Propiedades -> Advanced System settings -> Variables de entorno -> (ventana superior izquierda "Variables de usuario para "algún nombre de PC"" ) simplemente compruebe la variable PATH. Si no existe crealo con lo siguiente > > C:\Program Files (x86)\Java\jre7\bin

Me enfrenté con el mismo problema después de haber actualizado mi Eclipse. He encontrado que la ruta pidió versión de 64 bits, pero tenía la 32 bits en la ruta dif. Fue útil para mí. PD: Tengo un sistema operativo de 64 bits, JRE de 32 bits y Eclipse de 32 bits. Todo funciona bien :)

 5
Author: user1600401,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-02-17 18:16:36

Debe desinstalar todos los antiguos [JREs] [1] y luego instalar el más nuevo... Yo tenía el mismo problema y ahora lo resuelvo. He:

Es mejor instalar Jre 6 de 32 bits. Realmente funciona.

 5
Author: Marcin Erbel,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-08-01 15:21:48

Descargó JVM de 64 bits del sitio y lo instaló manualmente y actualizó la variable de ruta del sistema. Eso resolvió el problema.

  1. Por defecto JVM está instalado en mi sistema estaba en "C:\Program Files
    (x86)\Java\jre7 "
  2. JVM instalado manualmente se instaló en "C:\Program Files \ Java\jre7" y después de actualizar este paté al sistema variable de ruta funcionó.
 4
Author: Satya,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-08-28 10:26:59

Gracias misterfrb, 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 junto con developer suite).

Después de eliminar las líneas DevSuiteHome de la variable paths y agregar la ubicación de corrección para jvm.dll de 64 bits (no estoy seguro de si esto era necesario, no lo intenté sin), Eclipse volvió a funcionar y el desarrollador la suite todavía lo hace.

 4
Author: Unegma,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-02-17 18:03:14

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

 4
Author: PushkarHJoshi,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-02-17 18:29:55

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ó. :)

 4
Author: Supun Sameera,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-04-20 08:42:28

Asegúrese de iniciar Eclipse con derechos de administrador.

 3
Author: Here to Help,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-11-11 01:29:54

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

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

 3
Author: Rolf,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-11-06 16:44:40

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.

 2
Author: A_rnO,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-10-27 15:09:10

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

 2
Author: Rahul Raghuvanshi,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-02-17 18:13:18

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

Utilice el propio sitio Elipse .

El enlace anterior tenía un Eclipse 3.6 anterior que luego no se actualizó debido a Eclipse Bug #317785.

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

Está deprimiendo esa cantidad de Java / Eclipse cruft one tiene que pasar para obtener un IDE PHP.

 2
Author: cloakedninjas,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-02-17 18:24:44

Si utiliza todo el trío de 64 bits y todavía no funciona (he llegado a este problema durante el lanzamiento de Android Monitor en Intellij Idea), probablemente mal jvm.dll se está utilizando en oposición a lo que su java espera. Solo tienes que seguir estos pasos:

  1. Encuentra la jvm.dll en tu directorio JRE: C:\Program Files\Java\jre7\server\bin\jvm.dll

  2. Encuentra la jvm.dll en tu directorio JDK: c:\Program Files\Java\jdk1.7.0_xx\jre\bin\server\

  3. Copie el jvm.dll desde el directorio JRE en su directorio JDK y sobrescriba la jvm.dll en JDK.

No se olvide de hacer una copia de seguridad, por si acaso. No es necesario instalar o desinstalar nada relacionado con Java.

 2
Author: rootpd,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-02-27 16:38:39

Se me ocurrió lo mismo. Tuve Eclipse de 64 bits, pero mi JDK era de 32 bits. Así que instalé la versión de 64 bits y está bien en este momento.

 2
Author: felipe.zkn,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-09-18 11:38:28

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

Obviamente estos directorios estaban obteniendo prioridad incluso DESPUÉS de agregar la bandera-vm a mi eclipse.archivo ini.

Eliminarlos de aquí solucionado el problema para mí.

 2
Author: Guy Lowe,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-04-04 09:14:07