Error al cargar la biblioteca compartida JNI al iniciar Eclipse

27

Descargué la última versión de Eclipse, pero no puedo iniciarla.

El mensaje de error que recibo es:

Error al cargar la biblioteca compartida JNI "C: \ Archivos de programa (x86) \ Java \ jdk1.6.0_20 \ bin .. \ jre \ bin \ client \ jvm.dll".

¿Cómo puedo solucionar esto?

Utilizo Windows de 64 bits, JDK de 32 bits y descargué Eclipse de 64 bits.

Jonas
fuente
Eso es extraño. Jvm.dll debería estar en C: \ Archivos de programa (x86) \ Java \ jdk1.6.0_20 \ jre \ bin \ client \ jvm.dll, no en C: \ Archivos de programa (x86) \ Java \ jdk1.6.0_20 \ bin \ ...
AndrejaKo

Respuestas:

34

¡Esto generalmente sucede si tiene una discrepancia de 32 vs. 64 bits entre las versiones instaladas de JDK y Eclipse!

Su versión de Eclipse está intentando acceder a un JDK de 32 bits (como lo indica C: \ Archivos de programa (x86) ), pero falla porque Eclipse espera un JDK de 64 bits o porque falta el JDK de 32 bits, por lo tanto deberás asegurarte de que las versiones de Eclipse y JDK coincidan un poco en consecuencia.

Steffen Opel
fuente
Utilizo Windows de 64 bits, JDK de 32 bits y descargué Eclipse de 64 bits. Ahora con Eclipse de 32 bits funciona mejor, gracias.
Jonas
@Jonas: eliminé las suposiciones erróneas sobre las versiones instaladas, gracias por señalar esto especificando su configuración.
Steffen Opel
3

Había instalado las versiones JDK y Eclipse de 64 bits, pero tuve el mismo problema ...

Finalmente descubrí que mi %PATH%variable del sistema no incluía la carpeta. No olvide cambiarlo a la carpeta correcta donde está instalado su JDK \ bin. Trabajó para mi.

RDB
fuente
2
-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/jre/bin
--launcher.XXMaxPermSize
256m
--launcher.defaultAction
openFile
-vmargs
-Dosgi.requiredJavaVersion=1.5
-Xms40m
-Xmx512m

use eclipse y os tanto de 64 bits como de 32 bits

Jayesh Kavathiya
fuente
1

En Windows 7 tiene la oportunidad de usar enlaces simbólicos como en Unix.

Entonces, con cmd(ejecutar como administrador), ejecute lo siguiente: mklink /d jdk jdk-versionnr-etc¡no necesita actualizar su ruta JAVA_JOMEla próxima vez que actualice Java!

bud.minton
fuente
1

Tuve un Eclipse de 64 bits y Java de 32 bits y tuve el mismo problema. Después de instalar Java de 64 bits y actualizar la ruta del sistema , no hay problemas.

Shankar K Pillai
fuente
1

Si ha descargado Eclipse de 64 bits y un JDK / JRE de 64 bits, verifique la disponibilidad de javaw.exe para 64 bits.

En mi caso fue en C:\Program Files\Java\jre6\bin

He extraído Eclipse a la c:\eclipsecarpeta; dentro de eso el eclipse.iniarchivo está disponible. Reemplace el contenido de ese archivo con lo siguiente:

-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256M
-vm
C:\Program Files\Java\jre6\bin\javaw.exe
-framework
plugins\org.eclipse.osgi_3.4.3.R34x_v20081215-1030.jar
-vmargs
-Dosgi.requiredJavaVersion=1.5
-Xmx700m
-XX:MaxPermSize=690M

Deje la nueva línea entre el indicador -vm y el valor. Funcionó para mi.

Ramkumar Lakshminarayanan
fuente
Gracias. Todo lo que hice fue copiar la línea "-vm C: \ Archivos de programa \ Java \ jre6 \ bin \ javaw.exe". Dejé todo lo demás igual.
Stopher87
0

Estaba enfrentando el mismo problema a pesar de que tenía versiones de 64 bits de JDK y Eclipse. Descubrí que faltaba la ruta JDK en eclipse.ini.

Así que agregué las siguientes líneas en el archivo eclipse.ini:

-vm
C:\Program Files\Java\jdk1.7.0_45\jre\bin <this might be different on your machine>

Esto resolvió el problema! :-)

Nitinkumar Chobhe
fuente
0

1. Desinstale jdk7.1 disponible (era de 64 bits) 2. Descargó e instaló jdk7.1 de 32 bits. Jvm.dll estará en la siguiente ruta: "C: \ Archivos de programa (x86) \ Java \ jdk1.7.0_75 \ jre \ bin \ client"

Espero que funcione.

Charmy Vora
fuente
0

Para dar más detalles sobre la respuesta de Steffen Opel, la falta de coincidencia se produce entre la JVM especificada en el archivo eclipse.ini y la JVM encontrada e iniciada como resultado de las entradas en la variable de entorno de la ruta de Windows. Entonces, para solucionar el problema, asegúrese de que ambos hagan referencia a la misma JVM.

Para solucionar este problema, siga estos pasos:

1. Modifique la configuración de Eclipse para que se inicie con la versión deseada de JVM
Abra eclipse.ini y cambie la siguiente línea a la versión de Java que desea utilizar, por ejemplo:

-Dosgi.requiredJavaVersion=1.5

2. Asegúrese de que Eclipse pueda acceder a la JVM. Requiere
pasar al Panel de control -> Editar variables de entorno del sistema -> Ruta.
    a) Asegúrese de que exista una entrada aquí para su java
    b) Asegúrese de que esta entrada se encuentre más alta (o anterior) que cualquier otra ruta de Java dentro de su entrada @path.

Espero que eso te solucione el problema.

IqbalHamid
fuente
0

Aunque esta es una pregunta antigua, pensé agregar información más relevante a la respuesta aceptada dada por @Steffen Opel.

Es posible instalar cualquier número de versiones de JDK de 32 bits y JDK de 64 bits en un sistema operativo Windows de 64 bits. También es posible la instalación de 32 bits Eclipse y 64 bits Eclipse en el mismo equipo también. Pero para ejecutar uno de los relacionados con la plataforma Eclipse (en el caso de los programas operativos de 64 bits Eclipse ) versión, la máquina debe tener con el tema “ Variables de entorno ” configurados para JDK. Esto se puede hacer (se debe hacer) sin modificar el archivo eclipse.ini .

Variables de entorno

Para ejecutar java sin proporcionar la ruta completa, es necesario agregar la ubicación del archivo para java.exe a PATHla variable de entorno. Y también para algunas otras utilidades de terceros, también JAVA_HOMEse requiere una variable de entorno.

Normalmente, los desarrolladores de Java siempre necesitan tener JDK instalado (JRE está incluido en JDK). Y PATHestá configurado en la carpeta " bin " en la carpeta de instalación JDK (en el caso de OPs C: \ Archivos de programa \ Java \ jdk1.6.0_40 \ bin ) mientras JAVA_HOMEestá configurado en la carpeta de instalación JDK (en el caso de OPs C: \ Archivos de programa \ Java \ jdk1.6.0_40 ).

Aquí OP solo tiene JDK de 32 bits pero está tratando de usar Eclipse de 64 bits. Entonces, para solucionar el problema, OP necesita instalar JDK de 64 bits. Y cambie JAVA_HOME& PATH" Variables de entorno " para que coincida con esa ubicación de instalación.

Aquí están los pasos más completos:

  • Descargue e instale JDKx.x.x_xx de 64 bits
  • Luego abra el Explorador de Windows, haga clic con el botón derecho en el icono de la computadora y seleccione

    Propiedades -> Configuración avanzada del sistema .
    Se abrirá la ventana Propiedades del sistema y, en la pestaña " Avanzado ", seleccione " Variables de entorno " para abrir la ventana de edición.

  • En la sección Variable del sistema , busque el JAVA_HOMEnombre de la variable y haga clic en el botón " Editar " en la sección inferior, si no está disponible, haga clic en " Nuevo " e ingrese C: \ Archivos de programa \ Java \ jdk1.6.0_40 y haga clic en Aceptar.

  • Luego seleccione la PATHvariable y haga clic en " Editar " y agregue %JAVA_HOME%\bin; al frente o %JAVA_HOME%\binal final de la cadena existente. NO sobreescriba la cadena existente y haga clic en Aceptar -> Aceptar -> Aceptar para completar.

Ahora Eclipse estará abierto sin el error.

Nota:

  • Si alguien necesita usar Eclipse de 32 bits, la ruta JDK predeterminada será C: \ Archivos de programa (x86) \ Java \ jdkx.x.x_xx

  • Al cambiar las PATHvariables de entorno en Windows 10, aparece una ventana adicional como se muestra en la imagen a continuación.

ingrese la descripción de la imagen aquí

Dush
fuente
0

Me enfrenté al mismo problema pero obtuve la solución.

Compruebe si Eclipse es de 32 o 64 bits, luego

  1. Si es de 32 bits, establezca JAVA_HOME en la versión de 32 bits de jdk
  2. Si Eclipse es de 64 bits, establezca JAVA_HOME en la versión de 64 bits de jdk
Arjun Kushwah
fuente