我使用openjdk-9在Linux Mint 18.2肉桂的/opt/eclipse
中安装了Eclipse(请不要告诉我切换oracle jdk)。每当我点击Eclipse图标时,此窗口都会显示:
以下是该窗口的内容:
JVM terminated. Exit code=1
/usr/bin/java
-Dosgi.requiredJavaVersion=1.8
-Dosgi.instance.area.default=@user.home/eclipse-workspace
-XX:+UseG1GC
-XX:+UseStringDeduplication
--add-modules=ALL-SYSTEM
-Dosgi.requiredJavaVersion=1.8
-Xms256m
-Xmx1024m
--add-modules=ALL-SYSTEM
-jar /opt/eclipse//plugins/org.eclipse.equinox.launcher_1.4.0.v20161219-1356.jar
-os linux
-ws gtk
-arch x86_64
-showsplash /opt/eclipse//plugins/org.eclipse.epp.package.common_4.7.1.20171005-1200/splash.bmp
-launcher /opt/eclipse/eclipse
-name Eclipse
--launcher.library /opt/eclipse//plugins/org.eclipse.equinox.launcher.gtk.linux.x86_64_1.1.550.v20170928-1359/eclipse_1629.so
-startup /opt/eclipse//plugins/org.eclipse.equinox.launcher_1.4.0.v20161219-1356.jar
--launcher.appendVmargs
-exitdata 828016
-product org.eclipse.epp.package.java.product
-vm /usr/bin/java
-vmargs
-Dosgi.requiredJavaVersion=1.8
-Dosgi.instance.area.default=@user.home/eclipse-workspace
-XX:+UseG1GC
-XX:+UseStringDeduplication
--add-modules=ALL-SYSTEM
-Dosgi.requiredJavaVersion=1.8
-Xms256m
-Xmx1024m
--add-modules=ALL-SYSTEM
-jar /opt/eclipse//plugins/org.eclipse.equinox.launcher_1.4.0.v20161219-1356.jar
这是我的Java:
$java -version
openjdk version "9-internal"
OpenJDK Runtime Environment (build 9-internal+0-2016-04-14-195246.buildd.src)
OpenJDK 64-Bit Server VM (build 9-internal+0-2016-04-14-195246.buildd.src, mixed mode)
当我在/opt/eclipse
中输入相同的命令时,我得到了这个:
/opt/eclipse $ java -version
Error occurred during initialization of VM
java.lang.Error: Properties init: Could not determine current working directory.
at java.lang.System.initProperties(java.base/Native Method)
at java.lang.System.initPhase1(java.base/System.java:1850)
当我尝试从终端打开它时,我得到了: -
$ eclipse
Unrecognized option: --add-modules=ALL-SYSTEM
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.
Gtk-Message: GtkDialog mapped without a transient parent. This is discouraged.
答案 0 :(得分:5)
文件 eclipse.ini
删除第--add-modules=ALL-SYSTEM
行。
在Java 9中引入了Java Platform Module System,它封装了大多数内部API。 --add-modules=ALL-SYSTEM
是Java 9虚拟机(VM)参数,使其行为与Java 9之前的行为相同。
请参阅 JEP 261: Module System :
作为运行时的另一个特例,如果是
ALL-SYSTEM
那么 所有系统模块都添加到根集中,无论它们是否存在 在默认设置中。测试线束有时需要这样做。这个 选项将导致许多模块被解决;一般来说,ALL-DEFAULT
应该是首选。