Eclipse-“不兼容的 JVM。JVM 的版本1.8.0_261不适合这个产品。版本: 需要11个或以上

我刚刚下载了 Eclipse 作为存档,并安装了最新的64位 Java 和64位 JDK 15。我得到了这个错误。之后我安装了 JDK 11,得到了同样的错误。

我该怎么做?

300507 次浏览

我遇到了同样的问题,于是我下载了另一个版本的 JavaEE Eclipse,我得到了 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

下载之后,成功了。

可以在 eclipse.ini文件中指定 Java 运行 Eclipse(参见 Eclipse wiki: Eclipse.ini-指定 JVM)。在 -vmargs行之前直接添加以下两行,并将路径调整到 Java11或更高的64位 JavaVM 安装目录:

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

或者,您可以将 Java VM 放入 Eclipse 安装的 jre子目录,或者,如果您没有安装 Eclipse 但是升级了它,那么在从 Eclipse JustJ升级之前安装 Java 11或更好的 Java 14作为插件(使用 热点 JRE 完成,而不是 基地很少)。

请注意,即使您使用 Java 11或更高版本运行 Eclipse,Eclipse 2020-09(4.17)仍然支持 Java 14.13、12、11、10、9、8甚至更老版本的代码(下至 Java 1.1) . Java15可以通过 Marketplace 安装

我也有同样的问题,通过使用包含 JRE 的 https://www.eclipse.org/downloads/安装程序重新安装它。

我从 https://www.oracle.com/java/technologies/javase-jdk15-downloads.html下载了 JDK,并将解压缩后的内容放到 Eclipse 安装路径的 jre子目录中——有一个路径 eclipse/jre/bin/javaw.exe。Eclipse 会自动在任何其他安装之上选择它。

我通过在顶部的 Eclipse 配置文件中添加 vm 参数解决了这个问题。

Enter image description here

以文本格式

-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
-Dosgi.instance.area.default=@user.home/eclipse-workspace
-XX:+UseG1GC
-XX:+UseStringDeduplication
--add-modules=ALL-SYSTEM
-Dosgi.requiredJavaVersion=11
-Dosgi.dataAreaRequiresExplicitInit=true
-Xms256m
-Xmx2048m
--add-modules=ALL-SYSTEM

我有同样的问题。从控制面板卸载 Java 并重新启动您的 IDE (日食IntelliJ IDEA)。

我也面临着同样的问题,但无论如何我都没有解决它。

然后解决了安装下面的链接。

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

Enter image description here

我在 Linux操作系统上得到了这个错误,但是下面的解决方案应该适用于所有的操作系统。

步骤1: 打开命令提示符

类型: java -version

你会看到这样的东西-

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)

步骤2: 打开 eclipse.ini文件

该文件位于 C: Users Yourusername eclipsejava-2019-12 eclipse

找到以下行-

-Dosgi.requiredJavaVersion=11

改成

-Dosgi.requiredJavaVersion=1.8

然后重启 Eclipse。这是有 两次所以改变在两个地方。您可以尝试提供特定于您的系统的 Java 版本(来自步骤1的输出)。这招对我很管用。

对于 Ubuntu 用户,请参考 Howlger 的答案 https://stackoverflow.com/a/64049648/14489697。在 -vmargs之前的 eclipse.ini文件中添加以下代码行:

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

以上是 Java 安装位置。请根据您的更改。

我在吸毒,

  • 用于企业 Java 开发人员的 Eclipse IDE (包括孵化组件)
  • 版本: 2020-12(4.18.0)
  • 构建 ID: 20201210-1552
  • OS: Linux,v. 5.4.0-42-general,x86 _ 64/gtk 3.22.30
  • Java 版本: 14.0.2

这对我来说很有用。确保你在 eclipse.ini-vmargs之上添加了 -vm(Path_Of_Jdk)

例如:

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

Window = > Preferences = > Java = > Installated JRE = > Add
(浏览 AdoptOpenJdk 11)如图所示 标记为默认值(只选择此版本 = > 应用 = > 保存)

enter image description here

要解决不兼容的 JVM 异常,请为 Eclipse 指定特定的 JVM。

  1. 打开 eclipse 文件夹并查找 Eclipse ini文件。
  2. VMargs选项之前,添加 - VM选项。
  3. 查找并复制 JDK 文件夹中 Javaw.exe文件的路径
  4. Eclipse ini文件中,将 Javaw.exe文件的路径添加到 - VM选项后面的新行。
  5. 保存 Eclipse ini文件后重新启动 Eclipse。

因此,Eclipse ini文件如下所示:

-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=@user.home/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/

我在 Manjaro/Arch Linux上启动 海狸时发现了这个问题,出现了相同的错误。所有提供的建议在我的情况下都不起作用。

我的解决方案是按照 发布在 Manjaro 论坛上设置 JVM:

  1. 检查安装的版本

    ls /usr/lib/jvm

  2. 设定最新版本(我是16)

    sudo archlinux-java set java-16-jdk

如果你想解决这个 而不改变 eclipse.ini 文件问题,只需要重新安装 eclipseIDE。它可以是相同的版本,也可以是更新的版本。 我已经重新安装了相同的版本,它没有任何问题,不需要更改 eclipse.ini。

谢谢。 这招对我很管用 - VM
C: Program Files Java jdk-16 bin javaw.exe 在 eclipse.ini 文件中添加这些行

在这里添加一个额外的答案,因为即使在 JDK 下用 javaw.exe 路径更新 eclipse.ini 文件之后,我也无法启动 Eclipse。我遇到了一个异常

Java was started but returned exit code=1

我必须按照 https://wiki.eclipse.org/Eclipse.ini#-vm_value:_Windows_Example中的建议指向 java.dll 文件。 我最近的日食看起来像

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

另外,当我安装 JDK 11时,它没有与 JRE 一起提供。我必须分别从 https://adoptium.net/releases.html?variant=openjdk11&jvmVariant=hotspot下载 JRE

希望有人觉得这个有用。

我也有同样的问题,接下来的简单步骤解决了这个问题

第一步

转到 eclipse 的文件位置,以可编辑格式打开 eclipse.ini

第二步

转到找到 javaw.exe 的 java 文件夹位置
以我为例: C:\Program Files\Java\jdk-11.0.11\bin\javaw.exe

第三步

然后在 eclipse.ini文件中粘贴标记 -vmargs之前的以下内容

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

下面的图片简要地展示了

enter image description here

检查你的 java 版本和更新路径和版本..。 Echo% JAVA _ HOME% bin javaw.exe C: Program Files Java jdk-18.0.1.1 bin javaw.exe

C: Program Files Java jdk-18.0.1.1 bin javaw.exe VMargs - Dosgi.requdJavaVersion = 18

对于 MacOS 用户:

如果您看到此错误,但已经有版本11或更高版本,则需要在。Ini 文件。

我在 EclipseMat (内存分析器)中观察到了这个错误,我猜测这个过程在 EclipseIDE 中是类似的。

按照以下步骤查找. ini 文件(在执行这些步骤之前,您需要查找/了解您的 jdk bin 文件夹!)

  • 转到应用程序文件夹
  • 右键点击应用程序,然后点击“显示包装内容”
  • 转到目录/Eclipse
  • 使用文本编辑器打开 Memory Analyzer.ini
  • 在 Memory Analyzer.ini 中查找“-vmargs”
  • 在“-vmargs”之前添加此项
-vm
/Library/Java/JavaVirtualMachines/jdk-11.0.12.jdk/Contents/Home/bin
  • 您可以在保存. ini 文件中的更改后启动应用程序。

只需在 C:\Users\username\eclipse\java-2022-09\eclipse\eclipse.ini中的 -startup上添加文本即可

-vm
C:\Program Files\Java\jdk-19\bin\javaw.exe
-startup
plugins/org.eclipse.equinox.launcher_1.6.400.v20210924-0641.jar

这个改变对我很有效

我刚刚在系统环境变量中更新了 java 11路径,并且能够打开我的 eclipse。我的日食版本是2021-12(4.22.0)