jdk9更新导致eclipse无法启动

来源:互联网 发布:酷优网络 编辑:程序博客网 时间:2024/05/29 17:17

原文:http://www.jianshu.com/p/6a16a8bc4d93

参考:https://wiki.eclipse.org/Configure_Eclipse_for_Java_9#Configure_Eclipse_to_run_on_Java_9_VM


jdk9发布啦,博主原本想感受一下新鲜事物,就把jdk升级了,悲催的是eclipse打不开了大哭

eclipse提示信息,去workspace\.metadata下查看日志文件.log

日志部分内容如下:

org.eclipse.e4.core.di.InjectionException: java.lang.NoClassDefFoundError: javax/annotation/PostConstruct    at org.eclipse.e4.core.internal.di.InjectorImpl.internalMake(InjectorImpl.java:410)    at org.eclipse.e4.core.internal.di.InjectorImpl.make(InjectorImpl.java:318)    at org.eclipse.e4.core.contexts.ContextInjectionFactory.make(ContextInjectionFactory.java:162)    at org.eclipse.e4.ui.internal.workbench.swt.E4Application.createDefaultHeadlessContext(E4Application.java:491)    at org.eclipse.e4.ui.internal.workbench.swt.E4Application.createDefaultContext(E4Application.java:505)    at org.eclipse.e4.ui.internal.workbench.swt.E4Application.createE4Workbench(E4Application.java:204)    at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:614)    at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336)    at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:594)    at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:148)    at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:151)    at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:388)    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:243)    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:564)    at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:653)    at org.eclipse.equinox.launcher.Main.basicRun(Main.java:590)    at org.eclipse.equinox.launcher.Main.run(Main.java:1499)Caused by: java.lang.NoClassDefFoundError: javax/annotation/PostConstruct    at org.eclipse.e4.core.internal.di.InjectorImpl.inject(InjectorImpl.java:124)    at org.eclipse.e4.core.internal.di.InjectorImpl.internalMake(InjectorImpl.java:399)    ... 22 moreCaused by: java.lang.ClassNotFoundException: javax.annotation.PostConstruct cannot be found by org.eclipse.e4.core.di_1.6.100.v20170421-1418    at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:433)    at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:395)    at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:387)    at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:150)    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:496)    ... 24 more
解决方法

到eclipse的安装目录下,修改eclipse.ini文件

博主的安装目录:E:\eclipse\jee-neon\eclipse\eclipse.ini

在文件最后添加:--add-modules=ALL-SYSTEM

就能启动eclipse了。


阅读全文
1 0
原创粉丝点击