Eclipse - "Incompatible JVM. Version 1.8.0_261 of the JVM is not suitable for this product. Version: 11 or greater is required"

JavaEclipse

Java Problem Overview


I just downloaded Eclipse as an archive and installed newest 64 bit Java and 64 bit Java Development Kit 15. And I get this error. I installed JDK 11 after and got the same error.

How can I make this work?

Java Solutions


Solution 1 - Java

The Java to run Eclipse can be specified in the eclipse.ini file (see Eclipse wiki: eclipse.ini - Specifying the JVM). Add the following two lines directly before the line -vmargs and adapt the path to your Java 11 or higher 64-bit Java VM installation directory:

-vm
C:\Program Files\AdoptOpenJDK\jdk-14.0.2.12-openj9\bin\javaw.exe

Alternatively, you can put the Java VM into the jre subdirectory of the Eclipse installation or, if you do not install Eclipse but upgrade it, install Java 11 or better Java 14 as plugin before the upgrade from Eclipse JustJ (use JustJ OpenJDK Hotspot JRE Complete, not Base or Minimal).

Please note, that even if you run Eclipse with Java 11 or higher, Eclipse 2020-09 (4.17) still supports to code in Java 14, 13, 12, 11, 10, 9, 8 and even much older versions (down to Java 1.1). Java 15 can be installed via Marketplace.

Solution 2 - Java

I got it resolved by adding the vm parameters in the Eclipse configuration file at the top.

Enter image description here

In text format

-vm
C:\Program Files\Java\jdk-11.0.9\bin\javaw.exe
-startup
plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_64_1.1.1300.v20200819-0940
-product
org.eclipse.epp.package.jee.product
-showsplash
org.eclipse.epp.package.common
--launcher.defaultAction
openFile
--launcher.defaultAction
openFile
--launcher.appendVmargs
-vmargs
-Dosgi.requiredJavaVersion=11
[email protected]/eclipse-workspace
-XX:+UseG1GC
-XX:+UseStringDeduplication
--add-modules=ALL-SYSTEM
-Dosgi.requiredJavaVersion=11
-Dosgi.dataAreaRequiresExplicitInit=true
-Xms256m
-Xmx2048m
--add-modules=ALL-SYSTEM

Solution 3 - Java

This works for me. Make sure you add -vm(Path_Of_Jdk) on top of -vmargs of eclipse.ini

E.g.,

-vm
C:\Program Files\Java\jdk-11.0.10\bin\javaw.exe
-vmargs
-Dosgi.requiredJavaVersion=11

Solution 4 - Java

I was getting this error on a Linux OS, but the following solution should work for all OSes.

Step 1: Open a command prompt

Type: java -version

You will see something like this -

openjdk version "1.8.0_275"
OpenJDK Runtime Environment (build 1.8.0_275-8u275-b01-0ubuntu1~16.04-b01)
OpenJDK 64-Bit Server VM (build 25.275-b01, mixed mode)
(may vary depending on your computer and OS)

Step 2: open the eclipse.ini file

The file is located at C:\Users\Yourusername\eclipse\java-2019-12\eclipse

Locate the following line -

-Dosgi.requiredJavaVersion=11

Change it to

-Dosgi.requiredJavaVersion=1.8

and restart Eclipse. It is there twice so change at both places. You may try to give the Java version specific to your system (from the output of step 1). This has worked for me.

Solution 5 - Java

To resolve the incompatible JVM Exception, specify the specific JVM for Eclipse.

  1. Open the eclipse folder and look for the eclipse.ini file.
  2. Before the -vmargs option, add the -vm option.
  3. Find and copy the path of the javaw.exe file in the JDK folder
  4. In the eclipse.ini file, add the path of the javaw.exe file to the new line following the -vm option.
  5. Restart Eclipse after saving the eclipse.ini file.

As a result, the eclipse.ini file looks like this:

-startup
plugins/org.eclipse.equinox.launcher_1.6.200.v20210416-2027.jar
--launcher.library
C:\Users\Admin\.p2\pool\plugins\org.eclipse.equinox.launcher.win32.win32.x86_64_1.2.200.v20210429-1609
-product
org.eclipse.epp.package.java.product
-showsplash
C:\Users\Admin\.p2\pool\plugins\org.eclipse.epp.package.common_4.20.0.20210612-1200
--launcher.defaultAction
openFile
--launcher.appendVmargs
-vm                                          //NEW
C:\Program Files\Java\jdk-16\bin\javaw.exe   //NEW
-vmargs
-Dosgi.requiredJavaVersion=11
-Dosgi.instance.area.default[email protected]/eclipse-workspace
-Dsun.java.command=Eclipse
-XX:+UseG1GC
-XX:+UseStringDeduplication
--add-modules=ALL-SYSTEM
-Dosgi.requiredJavaVersion=11
-Dosgi.dataAreaRequiresExplicitInit=true
-Dorg.eclipse.swt.graphics.Resource.reportNonDisposed=true
-Xms256m
-Xmx2048m
--add-modules=ALL-SYSTEM
-Declipse.p2.max.threads=10
-Doomph.update.url=http://download.eclipse.org/oomph/updates/milestone/latest
-Doomph.redirection.index.redirection=index:/->http://git.eclipse.org/c/oomph/org.eclipse.oomph.git/plain/setups/

Solution 6 - Java

I had the same issue and got it to work by reinstalling using the installer from https://www.eclipse.org/downloads/ which includes a JRE.

Solution 7 - Java

I had the same problem and I downloaded another version of Java EE Eclipse. I got the Eclipse 2020-06 (4.16):

https://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/release/2020-06/R/eclipse-jee-2020-06-R-win32-x86_64.zip

After downloading it, it worked.

Solution 8 - Java

I downloaded JDK from https://www.oracle.com/java/technologies/javase-jdk15-downloads.html and put the unpacked contents to jre subdirectory of Eclipse's installation path - there is a path eclipse/jre/bin/javaw.exe. Eclipse picks it up automatically over any other installation.

Solution 9 - Java

I had the same problem. Uninstall Java from the control panel and restart your IDE (Eclipse or IntelliJ IDEA).

Solution 10 - Java

I also faced the same issue, but I did not resolve it no matter what.

Then it got resolved installing the below link.

https://www.eclipse.org/downloads/download.php?file=/oomph/epp/2020-09/R/eclipse-inst-jre-win64.exe

Enter image description here

Solution 11 - Java

> Window => Preferences => Java => Installed JREs => Add
> (browse for AdoptOpenJdk 11) as shown in picture > Mark as default (Only Select this Version => Apply => Save)

enter image description here

Solution 12 - Java

I found this topic while having this issue starting dBeaver on Manjaro/Arch Linux with the same error. All provided suggestions did not work in my case.

My solution was to set the JVM as per this post on the Manjaro Forum:

  1. checked the installed versions

    ls /usr/lib/jvm

  2. set latest version (16 in my case)

    sudo archlinux-java set java-16-jdk

Solution 13 - Java

For Ubuntu users, refer to the answer https://stackoverflow.com/a/64049648/14489697 by howlger. Add the following lines in file eclipse.ini before -vmargs:

-vm
/usr/lib/jvm/adoptopenjdk-14-openj9-amd64/bin/java

Above is the Java install location. Change this according to yours.

I'm using,

  • Eclipse IDE for Enterprise Java Developers (includes Incubating components)
  • Version: 2020-12 (4.18.0)
  • Build id: 20201210-1552
  • OS: Linux, v.5.4.0-42-generic, x86_64 / gtk 3.22.30
  • Java version: 14.0.2

Solution 14 - Java

If you're looking to resolve this without changing eclipse.ini file, just reinstall eclipse IDE. It can be the same version or newer one. I have reinstalled the same version and it's worked without issues, no needing of changing eclipse.ini.

Solution 15 - Java

Thank you . This one worked for me -vm
C:\Program Files\Java\jdk-16\bin\javaw.exe added these lines in eclipse.ini file

Solution 16 - Java

Adding an additional answer here as I was not able to start my eclipse even after updating the eclipse.ini file with the path of javaw.exe under the JDK. I was running into an exception that started as

Java was started but returned exit code=1

I had to point to the java.dll file as suggested in https://wiki.eclipse.org/Eclipse.ini#-vm_value:_Windows_Example. So my latest eclipse.ini looked like

-vm 
C:\Program Files\Eclipse Adoptium\jre-11.0.14.101-hotspot\bin\server\jvm.dll

Also, when I installed JDK 11 it did not come with JRE. I had to download the JRE separately from https://adoptium.net/releases.html?variant=openjdk11&jvmVariant=hotspot

Hope someone finds this useful.

Solution 17 - Java

I had the same issue and the following easy steps fixed the issue

Step - 1

Go to the file location of the eclipse and open eclipse.ini in editable format

Step - 2

Go to the java folder location where you find javaw.exe
In my case : C:\Program Files\Java\jdk-11.0.11\bin\javaw.exe

Step - 3

Then paste the following before tag -vmargs inside eclipse.ini file

-vm
C:\Program Files\Java\jdk-11.0.11\bin\javaw.exe

The below image shows in brief

enter image description here

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionCommanderCatView Question on Stackoverflow
Solution 1 - JavahowlgerView Answer on Stackoverflow
Solution 2 - JavaNapoleanView Answer on Stackoverflow
Solution 3 - JavaRamjay RomorosaView Answer on Stackoverflow
Solution 4 - Java3AKView Answer on Stackoverflow
Solution 5 - JavaKavya SView Answer on Stackoverflow
Solution 6 - JavaBenjamin StadlerView Answer on Stackoverflow
Solution 7 - JavaEugen FLOCEAView Answer on Stackoverflow
Solution 8 - JavaXeverousView Answer on Stackoverflow
Solution 9 - JavaLoper RoidView Answer on Stackoverflow
Solution 10 - JavaEliasView Answer on Stackoverflow
Solution 11 - JavaWaleed MohsinView Answer on Stackoverflow
Solution 12 - JavaEikeView Answer on Stackoverflow
Solution 13 - JavaKavindu PereraView Answer on Stackoverflow
Solution 14 - JavaL KempView Answer on Stackoverflow
Solution 15 - Javauser3243189View Answer on Stackoverflow
Solution 16 - JavaJohnView Answer on Stackoverflow
Solution 17 - JavaNiroshan RatnayakeView Answer on Stackoverflow