java.lang.ExceptionInInitializerError
at org.eclipse.osgi.storage.Storage.<init>(Storage.java:101)
at org.eclipse.osgi.storage.Storage.createStorage(Storage.java:88)
at org.eclipse.osgi.internal.framework.EquinoxContainer.<init>(EquinoxContainer.java:66)
at org.eclipse.osgi.launch.Equinox.<init>(Equinox.java:31)
at org.eclipse.core.runtime.adaptor.EclipseStarter.startup(EclipseStarter.java:303)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:239)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:547)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:673)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:610)
at org.eclipse.equinox.launcher.Main.run(Main.java:1519)
at org.eclipse.equinox.launcher.Main.main(Main.java:1492)
Caused by: java.lang.reflect.InaccessibleObjectException: Unable to make protected void java.net.URLClassLoader.addURL(java.net.URL) accessible: module java.base does not "opens java.net" to unnamed module @48a242ce
at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:335)
at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:278)
at java.base/java.lang.reflect.Method.checkCanSetAccessible(Method.java:196)
at java.base/java.lang.reflect.Method.setAccessible(Method.java:190)
at org.eclipse.osgi.storage.FrameworkExtensionInstaller.findMethod(FrameworkExtensionInstaller.java:51)
at org.eclipse.osgi.storage.FrameworkExtensionInstaller.findMethod(FrameworkExtensionInstaller.java:58)
at org.eclipse.osgi.storage.FrameworkExtensionInstaller.findAddURLMethod(FrameworkExtensionInstaller.java:42)
at org.eclipse.osgi.storage.FrameworkExtensionInstaller.<clinit>(FrameworkExtensionInstaller.java:36)
... 14 more
答案1
您遇到的问题是您安装的 JDK 版本。版本 9 与许多 Java 应用程序并不完全兼容。大多数针对版本 9 优化的应用程序都向下兼容版本 8。
您可以通过安装 Java 版本 8(这是 Ubuntu 16.04 LTS 和 17.X 的默认版本)来解决此安装问题。
使用以下命令安装默认 Java JDK 版本:
$ sudo apt install default-jdk
然后使用以下命令切换到版本 8 默认版本:'
$ sudo update-alternatives --config java
现在您的 Eclipse 安装应该可以顺利进行。您还可以顺利运行已安装的程序。
有时如果您想测试版本 9 的兼容性,您可以使用update-alternatives --config java
上面的命令在版本之间切换。
笔记:
供你参考,安装后 Eclipse 将与 Java 版本 9 配合使用。版本问题在于安装程序中的一个小故障。因此,安装 Eclipse IDE 后,启用哪个版本可能并不重要。
答案2
尝试卸载 Java 和 Eclipse。然后先安装 Java 和 Eclipse。这样就可以了。