[eclipse] Cannot run Eclipse; JVM terminated. Exit code=13

enter image description here

I just append -vm C:\Program Files\Java\jre6\bin\javaw.exe

in eclipse.ini then I try to start eclipse again and got this error. Give me how to solve or link that actually solve it.

this is my eclipse.ini

-startup 
plugins/org.eclipse.equinox.launcher_1.1.0.v20100507.jar
 --launcher.library
 plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.1.1.R36x_v20100810 
-showsplash
 org.eclipse.platform
--launcher.XXMaxPermSize 256m 
--launcher.defaultAction 
openFile 
-vm 
C:\Program Files\Java\jre6\bin\javaw.exe
-vmargs 
-Xms40m 
-Xmx384m

Thank you

This question is related to eclipse startup

The answer is


This can happen when the PATH environment variable is point to a wrong java instalation.


I did couple of things inorder to get rid of this annoying error as modifying .ini never worked for me.

  1. Installed latest JDK
  2. Delete old eclipse IDE folder completely.
  3. This time i Unziped to different location

Double Click "eclipse.exe" Works now like charm Use default workspace to load your old projects.

Am suspecting it to be JDK's Java VM issue more than eclipse.


I had the same issue with eclipse in my both machine. I had jre 32 bit installed. So I removed 32 bit and installed 64 bit instead and it worked perfectly.


use the configuration below;

    -startup
    plugins/org.eclipse.equinox.launcher_1.3.0.v20130327-1440.jar
    --launcher.library
    plugins/org.eclipse.equinox.launcher.win32.win32.x86_64_1.1.200.v20130807-1835
    -product
    org.springsource.ggts.ide
    --launcher.defaultAction
    openFile
    --launcher.XXMaxPermSize
    256M
    -vm
    C:\Program Files\Java\jdk1.7.0_51\jre\bin\javaw.exe
    -vmargs
    -Dorg.eclipse.swt.browser.IEVersion=10001
    -Dgrails.console.enable.interactive=false
    -Dgrails.console.enable.terminal=false
    -Djline.terminal=jline.UnsupportedTerminal
    -Dgrails.console.class=grails.build.logging.GrailsEclipseConsole
    -Dosgi.requiredJavaVersion=1.6
    -Xms40m
    -Xmx768m
    -XX:MaxPermSize=256m
    -Dorg.eclipse.swt.browser.IEVersion=10001

In my case JAVA path was not set in Env variables. Started to work after correct path was set in Env PATH.

Type javac in command prompt and make sure JAVA PATH is correct.


for ones with Eclipse Neon

I wanted to run Eclipse Neon and had JRE 1.8 but JDK 1.7 It returned error=13 then I installed java JDK 1.8 and everything worked like a charm


I was using Eclipse Juno and I didn't remember if it was 32 or 64 bits. I installed Java 32 bits and that's why it failed. I then installed Java 64 bits and Eclipse Juno is working again.

I also removed any java or jre reference in my environment variables (PATH).


I face same issue with sts 3.8.4, so I tried different settings but not luck, I reinstall jdk again n tried but same problem. Finally I downloaded sts 3.8.2 n it runs with out any issue. Using windows 8, 64 bit os. thanks


Go to the folder where you saved Eclipse. Look in the configuration folder at the startup log. It will give you a much better diagnostic than "exit code 13".


I used the new Eclipse Installer. I didn't like the installation path and I changed it manually. After that, I got the exit code=13 message too.

There is a new property in the eclipse.ini file named -install. I just had to modify it with the new location, and that solved this issue.

In the new installer I selected D:/eclipse, but the IDE was installed at D:/eclipse/eclipse. So, I moved the folder manually. The next time I tried to open eclipse I got the exit error. Thus, I had to modify eclipse.ini and set the current location:

-install
D:/eclipse

This error occurred to me on ubuntu, having installed 32bit and 64bit java. Use

sudo update-alternatives --config java

to set the right version to use as default.


Make sure the Eclipse and the Java that you are using are both either 32-bit or 64-bit.

You cannot run 64-bit eclipse with 32-bit JRE.

java -version

Java HotSpot(TM) 64-Bit Server VM

The 32 bit version JRE will not have 64-Bit in it.


Well, it better not be Eclipse 3.1.x and Java 7. I resolved this combination by upgrading to Eclipse 3.8.x.


simply install 64 bit version of JAVA from http://java.com/en/download/manual.jsp

and uninstall older version if prompted by the 64 bit installer


I had this issue also. I had an old JDK1.8.0_05. I installed the newest JDK1.8.0_111 and everything works great now. Just be sure to update your environment variable.

I am on Windows 7 64 bit. Using Eclipse Neon 1a.

Hope that helps someone.


I just hit this too. Turns out that at least for me, this was due to trying to use a win64 version of the JRE with a win32 Eclipse. I seems that win32 Eclipse requires a win32 Java (what is called -586 in the list of Java installers from Oracle/Sun).

The reason I was using both is that I was trying to pinpoint a bug that only manifested itself in 64-bit Eclipse, so I needed a 32-bit to compare to.

Once I installed BOTH the "x64" (win64) and "i586" (win32) versions of the JRE on my machine, things work fine and no error 13. You can apparently have both installed at the same time.


After java update, eclipse will not start because default jdk location has changed. Adding the following lines to eclipse.ini file solved my problem immediately:

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

I added these lines just before vmargs. It looks like as the following :

...
--launcher.defaultAction
openFile
-vm
C:\Program Files (x86)\Java\jdk1.7.0_75\bin\javaw.exe
-vmargs
-Dosgi.requiredJavaVersion=1.5
-Dhelp.lucene.tokenizer=standard
-Xms40m
-Xmx512m

For more information on eclipse.ini, visit this the site http://wiki.eclipse.org/Eclipse.ini#-vm_value:_Windows_Example

In my case, i use 32 bit eclipse and java. If you installed both 32 bit and 64 bit versions of java, be careful to choose the right version. For 64 bit versions, refer to the javaw.exe file under the directory

C:\Program Files\Java\jdk1.8.0_60\bin

The error means it's the wrong JVM version for that version of Eclipse. The link has more details:

http://www.ehow.com/how_4784069_terminated-exit-code-error-eclipse.html


You need to check if your PC has a 64-bit or 32-bit operating system, then same goes for your JDK (64-bit/32-bit) and also for Eclipse (64-bit/32-bit).

Make sure they are all the same; if not, you need to download the one that matches your bitness.


Look at the second line of the message box. There you can see which java runtime in fact is started. Mine was suddenly C:\ProgramData\Oracle\Java\javapath\javaw.exe. This happened after I have installed a "chrome java updater" (Chrome browser moaned: 'your java is outdated, you have to update...').

Before this "chrome java update" my eclipse (luna jee x64) started without error. Looking closer to the background I detected following: the chrome java updater (notabene started from an Oracle site) added C:\ProgramData\Oracle\Java\javapath in front of the env var PATH. It contains three symbolic links to the newest java 8 JRE installation in (x86) program folder -> hence to a 32 bit java JRE. Oracle replaces with Java8 the old technique having the symlinks in system32 (64bit) resp. SysWOW64 (32bit).

Meanwhile I learned. Whatever java installer you have executed last (the *.exe) leads windows to remember that java flavour (32b or 64b), with the result that after an update the links in C:\ProgramData\Oracle\Java\javapath point to a java installation of the remembered flavour. If you have a 64b eclipse installation and encounter the described error: just re-install the newest 64b JDK. After that the java updates do no more link to a 32b version. And eclipse 64b will start correctly without the entry in eclipse.ini .


I had the same issue on Ubuntu, and solved it by unpack all *.pack files in jdk directory. for example: cd /usr/java/jdk1.7.0_03/jre/lib sudo ../bin/unpack200 rt.pack rt.jar


In my opinion the most answers here regarding different architectures of Eclipse and Java are simply wrong and this can be easily checked using e.g. Process Monitor under Windows. The -vm option is there to run a specific version of java and the point of it is, that the configured process is started and runs all the Java code on its own, that's why you configure up to java.exe. In that case you DON'T need to have the same architecture for Eclipse and Java, but can happily mix both 32 Bit and 64 Bit. You only CAN'T mix both, if you DON'T use -vm, but let Eclipse load Java natively into its own process using jvm.dll and such. That latter behavior is Eclipse's default, but not the case anymore if you properly configure -vm in eclipse.ini.

If you don't believe me, do some tests on your own using different architectures of Eclipse and Java and do configure -vm or not properly. In the end, that's exactly what the questioner described in his comment to the accepted answer:

Cannot run Eclipse; JVM terminated. Exit code=13

He is telling that a 64 Bit JDK is working now, but in his screenshot one can see that his Eclipse is 32 Bit, because the path for launcher.library is 32 Bit.

And now for the reason I came here: Ony of my customers had some problems loading one of our Eclipse/OSGI based applications as well and Java exited with exit code 13. In the end it showed that the problem was not about -vm or the architectures of Java and eclipse.exe, but instead he was simply missing config.ini and I guess eclipse.exe wasn't aware what to load or such. After we recognized that and put a config.iniback in place, the app loaded fine with using -vm and a 64 Bit JRE7 in combination with a 32 Bit eclipse.exe.


I had the same error when configuring eclipse.ini to use JRE6. Turns out I caused this error by incorrectly configuring eclipse to use the 64 bit JVM while running a 32 bit version of eclipse 3.7.

The correct configuration required the eclipse.ini -vm argumument to use "C:/Program Files (x86)/" instead of "C:/Program Files/".

Make sure that the JVM version (32/64 bit) you use matches the eclipse version (32/64 bit).


Whenever you see this error, go to Configuration directory and check for a log file generated just now. It should have proper Exception stacktrace. Mine was a case where I got an updated 32-bit JRE (or JVM) installed which was the default Java that got added to the Path. And my Eclipse installation was 64-bit which meant it needed a 64-bit VM to run its native SWT libraries. So I simply uninstalled the 32-bit JVM and replaced it with a 64-bit JVM.

I wonder if they will improve this reporting mechanism, instead of silently generating a log file in some directory.


1 ) Open the SpringToolSuite4.ini File.
2 ) Search For the "openFile" text in the SpringToolSuite4.ini file.
3 ) Provide the javaw.exe file location in SpringToolSuite4.ini
4 ) Note : Provide the New Line between -vm and your javaw.exe file location path as shown below.

openFile
-vm
C:\Program Files\Java\jdk1.8.0\bin\javaw.exe
-vmargs
-Dosgi.requiredJavaVersion=1.8
-Xms256m


Just uninstalled jre-32 bit version and It worked fine for me.


I fixed it reinstalling the jdk. In my case it was necessary to do:

java -version
sudo apt-get purge openjdk*
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java7-installer
java -version
javac -version

taken from Install Java JDK+JRE (oracle) in Kubuntu 13.04 from apt


I just had the same issue, and spend about an hour trying to solve the problem. In the end it was a '#' character in the path.

So I renamed "C:\# IDE\eclipse 3.7\" to "C:\+ IDE\eclipse 3.7\" and that solved the problem.


I tried many way and placed -VM argument at suggested place. But It would not work. Finally I got solution. -Vm args should be place eclipse.ini file before execution of any plugin or jar. I tried with latest eclipse [Photon ] in ubuntu 18.04 It is perfectly working for me.

-startup
-vm        
/usr/local/java/jdk1.8.0_251/bin/java.exe
plugins/org.eclipse.equinox.launcher_1.5.700.v20200207-2156.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.gtk.linux.x86_64_1.1.1100.v20190907-0426
-product
org.eclipse.epp.package.jee.product
-showsplash
org.eclipse.epp.package.common
--launcher.defaultAction
openFile
--launcher.defaultAction
openFile
--launcher.appendVmargs
-vmargs
-Dosgi.requiredJavaVersion=1.8
[email protected]/eclipse-workspace
-XX:+UseG1GC
-XX:+UseStringDeduplication
--add-modules=ALL-SYSTEM
-Dosgi.requiredJavaVersion=1.8
-Dosgi.dataAreaRequiresExplicitInit=true
-Xms256m
-Xmx2048m
--add-modules=ALL-SYSTEM

For Eclipse:

Added this two lines in eclipse.ini

Second line represents the JDK location of the javaw.exe file.

-vm

C:\Program Files\Java\jdk1.7.0_60\bin\javaw.exe

Note: place -vm lines before -vmargs, otherwise default location is taken.

For STS

Change the same as above in STS.ini


Recently I faced same issue.My version of eclipse didnt support java version 8.

I had accidently installed jre 8 on my machine which automatically updated my PATH variable by appending "C:\ProgramData\Oracle\Java\javapath" in the beginging which led eclipse to pick up this version(and ignore the manually added 1.6 version which came later in order)and crash with exit code 13.

I just removed this string from the path so which led system to pick up my older version and eclipse started just fine.


Before going to the solution, let us know why it is showing that error. If you know the problem behind this issue we can easily fix that error.

Reason 1: The most common reason behind this problem is, we are trying to install different bit version-that is, 64 bit or 32 bit version of the software. It maybe either Eclipse or Java.

Solution: Check which version of operating system you are running.make sure you downloaded the same version of Eclipse as well as same version of Java software.

Reason 2: Configuration mistake in Eclipse.ini file

Solution: Add this line "-vm then path of your java sdk" at the end of Eclipse.ini file. for example: -vm C:\Program Files\Java\jdk1.7.0_71\bin\javaw.exe

Reason 3: Special characters ( #, !, @) in Eclipse installation directory.

Solution: Make sure you don’t have any special characters.

Reason 4: You have added JAVA path two times in PATH system variable and both the path are different.

Solution: Remove one incorrect/different JAVA path from PATH system variable.

Reason 5: You maybe using latest version of Eclipse, but you might be using wrong version or unsupported version of Java Virtual Machine (JVM).

Solution: To check which version of java you are using open command prompt by pressing win+R key and type cmd and press enter. Now in that console type Java -version command to know java version. Now research whether eclipse support that version or not. Or You can open “readme” folder in Eclipse folder and open readme_eclipse.html to see which version it supports.