Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

A JRE or JDK must be available in order to run Eclipse. No JVM was found after searching the following locations

Tags:

java

eclipse

People also ask

Can JVM run without JRE?

It could be possible to run Java Bytecode without the entire JRE, but not without it completely because the JVM uses many Classes from the JRE (like Object, String, Unsafe, etc..).


You can explicitly tell Eclipse where to find it. Open eclipse.ini and add the following lines to the top of the file:

-vm
/absolute/path/to/jre6/bin

Update: I just nailed down the root cause on my own Windows machine. The GlassFish installer complained with exactly the same error message and after digging in GlassFish forums, the cause was clear: a corrupt JRE install on a Windows machine. My JRE came along with the JDK and the Java 6 JDK installer didn't install the JRE properly somehow. A DLL file was missing in JDK's JRE installation. After I reinstalled the standalone JRE from http://java.com, overwriting the old one, the GlassFish installer continued and also Eclipse was able to start flawlessly without those two lines in eclipse.ini.


It usually is because:

  • you indicated the wrong jvm path in your -vm argument: see this SO question for an concrete example.
  • the eclipse.ini got corrupted somehow (if it hasn't been modified, this isn't it, but if setting a jvm path doesn't work, ... I would replace the eclipse.ini by one coming from a fresh installation just to be sure)
  • the java which eclipse search by default is no longer accessible (because the $PATH is no longer up-to-date)

More details on the wiki page "Finding a VM, Using JNI Invocation or Executing Java"

No -vm specified

When no -vm is specified, the launcher looks for a virtual machine first in a jre directory in the root of eclipse and then on the search path.
If java is found in either location, then we look for a jvm shared library (jvm.dll on window, libjvm.so on *nix platforms) relative to that java executable.

  • If a jvm shared library is found we load it and use the JNI invocation api to start the vm.
  • If no jvm shared library is found, we exec the java launcher to start the vm in a new process.

As mentioned in "FAQ How do I run Eclipse?":

Eclipse DOES NOT consult the JAVA_HOME environment variable.

So I would check your $PATH, starting by n new shell sesion (whatever your OS is), typing 'java -version' to see if it still returns anything.


I got this problem because i uninstalled the jdk version 13 and reinstall the jdk version 8

Even though i have updated the path variables eclipse still pick the old configuration.

You need to edit the eclipse.ini file which is in your folder where eclipse.exe is placed.

enter image description here

Just update this file with the latest path so eclipse can pick it up

enter image description here


Copy javaw.exe from C:\Program Files\Java\jre1.8(or)1.6(or)1.7\bin

enter image description here

and paste it inside Eclipse folder where eclipse.exe is there. That's all.

enter image description here