java升级后eclipse打不开了_升级到JDK9后Eclipse无法启动的解决办法

更新到Jdk9后,就出现Eclipse找不到jdk里面类的问题(无法启动):

!SESSION 2017-10-10 15:42:31.080 -----------------------------------------------

eclipse.buildId=4.6.3.M20170301-0400

java.version=9

java.vendor=Oracle Corporation

BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=zh_CN

Framework arguments: -product org.eclipse.epp.package.jee.product

Command-line arguments: -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.jee.product

!ENTRY org.eclipse.osgi 4 0 2017-10-10 15:42:50.382

!MESSAGE Application error

!STACK 1

org.eclipse.e4.core.di.InjectionException: java.lang.NoClassDefFoundError: javax/annotation/PostConstruct

at org.eclipse.e4.core.internal.di.InjectorImpl.internalMake(InjectorImpl.java:386)

at org.eclipse.e4.core.internal.di.InjectorImpl.make(InjectorImpl.java:294)

at org.eclipse.e4.core.contexts.ContextInjectionFactory.make(ContextInjectionFactory.java:162)

at org.eclipse.e4.ui.internal.workbench.swt.E4Application.createDefaultHeadlessContext(E4Application.java:490)

at org.eclipse.e4.ui.internal.workbench.swt.E4Application.createDefaultContext(E4Application.java:504)

at org.eclipse.e4.ui.internal.workbench.swt.E4Application.createE4Workbench(E4Application.java:203)

at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:632)

at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336)

at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:610)

at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:148)

at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:138)

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(Unknown Source)

at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

at java.base/java.lang.reflect.Method.invoke(Unknown Source)

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.NoClassDefFoundError: javax/annotation/PostConstruct

at org.eclipse.e4.core.internal.di.InjectorImpl.inject(InjectorImpl.java:151)

at org.eclipse.e4.core.internal.di.InjectorImpl.internalMake(InjectorImpl.java:375)

... 23 more

Caused by: java.lang.ClassNotFoundException: javax.annotation.PostConstruct cannot be found by org.eclipse.e4.core.di_1.6.1.v20160712-0927

at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:410)

at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:372)

at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:364)

at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:161)

at java.base/java.lang.ClassLoader.loadClass(Unknown Source)

... 25 more

解决方案:

1.打开D:\Java\eclipse-jee-oxygen-1-win32-x86_64\eclipse\eclipse.ini 2.在文件末尾添加一行:   --add-modules=ALL-SYSTEM 3.再次启动Eclipse即可 参考链接:http://www.cnblogs.com/humingliang/p/7583061.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值