可以在 eclipse.ini
文件中指定运行 Eclipse 所需的 Java 版本(参见 Eclipse wiki: eclipse.ini - Specifying the JVM)。请在行 -vmargs
之前直接添加以下两行,并将路径调整为您的 Java 11 或更高版本的 64 位 Java VM 安装目录:
-vm
C:\Program Files\AdoptOpenJDK\jdk-14.0.2.12-openj9\bin\javaw.exe
或者,您可以将Java虚拟机放入Eclipse安装的jre
子目录中,或者如果您不安装Eclipse而是升级它,则在从Eclipse JustJ升级之前作为插件安装Java 11或更好的Java 14(使用JustJ OpenJDK Hotspot JRE Complete,而不是Base或Minimal)。
请注意,即使您使用Java 11或更高版本运行Eclipse,Eclipse 2020-09(4.17)仍支持使用Java 14、13、12、11、10、9、8甚至更早的版本(最低可达Java 1.1)。Java 15可通过Marketplace安装。
-vm
也可以用作命令行参数。例如,eclipse -vm ...
将覆盖 eclipse.ini
中的设置。 - howlger我通过在Eclipse配置文件的顶部添加虚拟机参数解决了这个问题。
文本格式:
-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
这对我很有效。确保您在eclipse.ini
的-vmargs
之上添加-vm(Path_Of_Jdk)
。
例如,
-vm
C:\Program Files\Java\jdk-11.0.10\bin\javaw.exe
-vmargs
-Dosgi.requiredJavaVersion=11
我在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)
步骤二:打开eclipse.ini
文件。
该文件位于C:\Users\Yourusername\eclipse\java-2019-12\eclipse。
找到以下行 -
-Dosgi.requiredJavaVersion=11
Change it to
-Dosgi.requiredJavaVersion=1.8
并且重新启动Eclipse。它出现两次,所以需要在两个位置上进行更改。您可以尝试提供特定于您系统的Java版本(从步骤1的输出中获取)。这对我起作用了。
An error has occurred. See the log file /Applications/Eclipse.app/Contents/Eclipse/configuration/1608542182018.log.
。 - KhogaEslam为了解决不兼容的JVM异常,请为Eclipse指定特定的JVM。
结果,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/
对于MacOS用户:
如果您看到这个错误,但已经拥有11或更高版本,则需要在.ini文件中指定您的jdk二进制文件夹。
我在Eclipse Mat(Memory Analyzer)中观察到了这个错误,我猜想Eclipse IDE的过程类似。
按照以下步骤找到.ini文件(在执行这些步骤之前,您需要找到/知道您的jdk二进制文件夹!)
-vm
/Library/Java/JavaVirtualMachines/jdk-11.0.12.jdk/Contents/Home/bin
我遇到了同样的问题。在控制面板中卸载Java,然后重新启动您的IDE (Eclipse 或 IntelliJ IDEA)。