## Failed to load the JNI shared Library (JDK)

### Question

When I try opening Eclipse, a pop-up dialog states:

Failed to load the JNI shared library "C:/JDK/bin/client/jvm.dll".

Following this, Eclipse force closes.

Here's a few points I'd like to make:

• I checked to see if anything exists at that path. It does exist.
• My Eclipse and Java SE Development Kit are both 64-bit. I checked my system, and it can handle 64-bit.
• I've searched for this problem on Google and on Stack Overflow, and the only answer I found was to download the 32-bit versions of JDK and Eclipse.

What would be suggested to solve this issue?

2017/12/04
1
932
12/4/2017 8:39:06 AM

You need a 64-bit trio:

• 64-bit OS
• 64-bit Java
• 64-bit Eclipse
2019/08/28
852
8/28/2019 9:18:49 AM

## Working pairings of OS, JDK and Eclipse:

• 32-bit OS | 32-bit JDK | 32-bit Eclipse (32-bit only)
• 64-bit OS | 32-bit JDK | 32-bit Eclipse
• 64-bit OS | 64-bit JDK | 64bit Eclipse (64-bit only)

I had several JDKs and JREs installed.

Each of them had their own entry in the PATH variable, all was working more or less.

Judging from the PATH variables, some installations were completely useless, since they were never used. Of course, the "inactive" Javas could be referenced manually from within Eclipse if I needed, but I never did that, so I really did not need them. (At least I thought so at that time...)

I cleaned up the mess, deinstalled all current Java's, installed only JDK + JRE 1.7 64-bit.

One of the Eclipse 'installations' failed afterwards with the Failed to Load the JNI shared Library and a given path relative to the fresh installed JDK where it thought the jvm.dll to be.

The failing Eclipse was the only one of all my IDEs that was still a 32-bit version on my otherwise all-64-bit setup.

Adding VM arguments, like so often mentioned, in the eclipse.ini was no use in my case (because I had only the wrong JDK/JRE to relate to.)

I was also unable to find out how to check if this Eclipse was a 32-bit or 64-bit version (I could not look it up in the Task Manager, since this Eclipse 'installation' would not start up. And since it had been a while since I had set it up, I could not remember its version either.)

In case you use a newer JDK and a older JRE you might be in for trouble, too, but then it is more likely a java.lang.UnsupportedClassVersionError appears, IIRC.

2019/08/28

Make sure your eclipse.ini file includes the following lines.

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


My eclipse.ini for example:

-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 and Eclipse both 64 bit or both 32 bit keep same and config eclipse.ini.

Your eclipse.ini file can be found in your eclipse folder.

2019/08/28

I resolved it by installing 64 bit JVM from

2011/10/07

This error means that the architecture of Eclipse does not match the architecture of the Java runtime, i.e. if one is 32-bit the other must be the same, and not 64-bit.

The most reliable fix is to specify the JVM location in eclipse.ini:

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


Important: These two lines must come before -vmargs. Do not use quotes; spaces are allowed.

2014/11/20

Another option is:

Create a shortcut to the Eclipse.exe. Open the shortcut and change the target to:

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


For your installation, make sure the locations point to the correct Eclipse installation directory and the correct javaw.exe` installation directory.

(The 64/32 bit versions of Eclipse and Java need to be the same, of course.)

2013/02/17