I downloaded the latest version of Eclipse, but I can not start it.
The error message I get is:
Failed to load the JNI shared library "C:\Program Files (x86)\Java\jdk1.6.0_20\bin..\jre\bin\client\jvm.dll".
How do I fix this?
I use 64-bit Windows, 32-bit JDK, and downloaded 64-bit Eclipse.
112 Answers
This usually happens if you have a 32- vs. 64-bit mismatch between the installed JDK and Eclipse versions!
Your version of Eclipse is trying to access a 32-bit JDK (as indicated by C:\Program Files (x86)), but either fails because Eclipse is expecting a 64-bit JDK or because the 32-bit JDK is missing - consequently you'll need to make sure to match the Eclipse and JDK versions bit wise accordingly.
2I had installed both JDK and Eclipse 64-bit versions, but had the same issue...
Finally I discovered that my %PATH% system variable didn't include the folder. Don't forget to change it to the correct folder where your JDK\bin is installed. Worked for me.
-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
-Xmx512muse eclipse and os both 64 bit or both 32 bit
On Windows 7 you have the chance to use symbolic links as under unix.
So with cmd (run as an admin), run the following: mklink /d jdk jdk-versionnr-etc you don't need to update your path, JAVA_JOME the next time you update Java !
I had a 64 bit Eclipse and 32 bit Java and had the same issue. After installing 64 bit Java and updating system path, no issues.
If you have downloaded 64-bit Eclipse and a 64-bit JDK/JRE, check the availablity of javaw.exe for 64-bit.
In my case it was in C:\Program Files\Java\jre6\bin
I have extracted Eclipse to the c:\eclipse folder; within that the eclipse.ini file is available. Replace the contents of that file with the following:
-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=690MLeave the new line in between the -vm flag and the value. It worked for me.
1I was facing same issue even though I had 64-bit versions of both JDK and Eclipse. I found out that the JDK path was missing in eclipse.ini.
So I added following lines in eclipse.ini file:
-vm
C:\Program Files\Java\jdk1.7.0_45\jre\bin <this might be different on your machine>This solved the problem! :-)
If eclipse is 64 bit , update Java in Path to C:\Program Files\Java\jre7
or else
check the Java location being referred by eclipse and copy the content C:\Program Files\Java\jre7 to eclipse jre location.
Reference -
1.Uninstall available jdk7.1 (It was 64 bit) 2. Downloaded and installed jdk7.1 32 bit. The jvm.dll will be in the follwing path: "C:\Program Files (x86)\Java\jdk1.7.0_75\jre\bin\client"
Hope it works.
To elaborate on Steffen Opel's answer the mismatch occurs between the JVM specified in eclipse.ini file and the JVM encountered and launched as a result of the entries on your Windows path environment variable. So to fix the issue, ensure they both refer to the same JVM.
To fix this issue follow these steps:
1. Amend Eclipse Configuration So It Launches with Desired Version of JVM
Open eclipse.ini and change the line below to the java version you wish to use eg:
-Dosgi.requiredJavaVersion=1.5
2. Ensure Eclipse Can Access the JVM It Requires
Goto Control Panel --> Edit System Environment Variables --> Path.
a) Make sure an entry exists here to your java
b) Make sure this entry sits higher (or earlier) than any other java paths within your @path entry.
Hopefully that should fix the problem for you.
Although this is an old question, I thought to add some more relevant info to the Accepted answer given by @Steffen Opel.
It is possible to install any number of versions of 32-bit JDKs and 64-bit JDKs in a 64-bit Windows OS. Also it is possible to install 32-bit Eclipse and 64-bit Eclipse in the same computer as well. But to run one of those platform related Eclipse (in OPs case 64-bit Eclipse) version, the machine should have matching “Environment Variables” configured for JDK. This can be done (should be done) without modifying eclipse.ini file.
Environment Variables
To run java without giving full path it is required to add file location for java.exe to PATH environment variable. And also for some other third party utilities, JAVA_HOME environment variable is required as well.
Normally java developers always need to have JDK installed (JRE is included in JDK). And PATH is set to “bin” folder under JDK installation folder (in OPs case C:\Program Files\Java\jdk1.6.0_40\bin) while JAVA_HOME is set to JDK installation folder (in OPs case C:\Program Files\Java\jdk1.6.0_40).
Here OP has only got 32-bit JDK but trying to use 64-bit Eclipse. So to fix the issue OP need to install 64-bit JDK. And change JAVA_HOME & PATH “Environment Variables” to match that installation location.
Here is the more complete steps:
- Download and install 64-bit JDKx.x.x_xx
Then open Windows Explorer, right click on Computer icon and select
Properties -> Advanced system settings.
It will open upSystem Properties window, and in “Advanced” tab select “Environment Variables” to open up editing window.Under the System variable section look for
JAVA_HOMEvariable name and click “Edit” button at the bottom section, if not available click “New” and enter C:\Program Files\Java\jdk1.6.0_40and click OK.Then select the
PATHvariable and click “Edit” and append%JAVA_HOME%\bin; to the front or%JAVA_HOME%\binto the end of the existing string. DO NOT over write the existing string, and click OK -> OK ->OK to complete.
Now Eclipse will be open without the error.
Note:
If someone needs to use 32-bit Eclipse then default JDK path will be C:\ Program Files (x86) \Java\jdkx.x.x_xx
When changing
PATHEnvironment variables in Windows 10 there is an additional window will comes up as shown in picture below.
I had faced same issue but I got the solution.
Check if Eclipse is 32 or 64 bits, then
- If it is 32 bit then set JAVA_HOME to the 32 bit version of jdk
- If Eclipse is 64 bit then set JAVA_HOME to the 64 bit version of jdk