您的位置:首页 > 编程语言 > Java开发

升级安装JDK9后eclipse无法启动的解决方法,

2017-09-25 01:17 393 查看

升级安装JDK9后eclipse无法启动

日志如下:!SESSION 2017-09-25 00:58:42.635 -----------------------------------------------eclipse.buildId=4.7.0.I20170612-0950java.version=9java.vendor=Oracle CorporationBootLoader constants: OS=macosx, ARCH=x86_64, WS=cocoa, NL=zh_CNFramework arguments:  -product org.eclipse.epp.package.java.product -keyring /Users/zhangwenda/.eclipse_keyringCommand-line arguments:  -os macosx -ws cocoa -arch x86_64 -product org.eclipse.epp.package.java.product -keyring /Users/zhangwenda/.eclipse_keyring!ENTRY org.eclipse.osgi 4 0 2017-09-25 00:58:48.036!MESSAGE Application error!STACK 1org.eclipse.e4.core.di.InjectionException: java.lang.NoClassDefFoundError: javax/annotation/PostConstructat 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/PostConstructat 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-1418at 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!ENTRY org.eclipse.e4.ui.workbench 4 0 2017-09-25 00:58:48.045!MESSAGE FrameworkEvent ERROR!STACK 0java.lang.NoClassDefFoundError: javax/annotation/PreDestroyat org.eclipse.e4.core.internal.di.InjectorImpl.disposed(InjectorImpl.java:450)at org.eclipse.e4.core.internal.di.Requestor.disposed(Requestor.java:156)at org.eclipse.e4.core.internal.contexts.ContextObjectSupplier$ContextInjectionListener.update(ContextObjectSupplier.java:78)at org.eclipse.e4.core.internal.contexts.TrackableComputationExt.update(TrackableComputationExt.java:111)at org.eclipse.e4.core.internal.contexts.TrackableComputationExt.handleInvalid(TrackableComputationExt.java:74)at org.eclipse.e4.core.internal.contexts.EclipseContext.dispose(EclipseContext.java:178)at org.eclipse.e4.core.internal.contexts.osgi.EclipseContextOSGi.dispose(EclipseContextOSGi.java:99)at org.eclipse.e4.core.internal.contexts.osgi.EclipseContextOSGi.bundleChanged(EclipseContextOSGi.java:141)at org.eclipse.osgi.internal.framework.BundleContextImpl.dispatchEvent(BundleContextImpl.java:908)at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:148)at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEventPrivileged(EquinoxEventPublisher.java:213)at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEvent(EquinoxEventPublisher.java:120)at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEvent(EquinoxEventPublisher.java:112)at org.eclipse.osgi.internal.framework.EquinoxContainerAdaptor.publishModuleEvent(EquinoxContainerAdaptor.java:168)at org.eclipse.osgi.container.Module.publishEvent(Module.java:476)at org.eclipse.osgi.container.Module.doStop(Module.java:634)at org.eclipse.osgi.container.Module.stop(Module.java:498)at org.eclipse.osgi.container.SystemModule.stop(SystemModule.java:202)at org.eclipse.osgi.internal.framework.EquinoxBundle$SystemBundle$EquinoxSystemModule$1.run(EquinoxBundle.java:165)at java.base/java.lang.Thread.run(Thread.java:844)Caused by: java.lang.ClassNotFoundException: javax.annotation.PreDestroy cannot be found by org.eclipse.e4.core.di_1.6.100.v20170421-1418at 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)... 21 more!SESSION 2017-09-25 01:09:03.468 -----------------------------------------------eclipse.buildId=4.7.0.I20170612-0950java.version=9java.vendor=Oracle CorporationBootLoader constants: OS=macosx, ARCH=x86_64, WS=cocoa, NL=zh_CNFramework arguments:  -product org.eclipse.epp.package.java.product -keyring /Users/zhangwenda/.eclipse_keyringCommand-line arguments:  -os macosx -ws cocoa -arch x86_64 -product org.eclipse.epp.package.java.product -keyring /Users/zhangwenda/.eclipse_keyring!ENTRY org.eclipse.osgi 4 0 2017-09-25 01:09:09.306!MESSAGE Application error!STACK 1org.eclipse.e4.core.di.InjectionException: java.lang.NoClassDefFoundError: javax/annotation/PostConstructat 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/PostConstructat 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-1418at 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!ENTRY org.eclipse.e4.ui.workbench 4 0 2017-09-25 01:09:09.317!MESSAGE FrameworkEvent ERROR!STACK 0java.lang.NoClassDefFoundError: javax/annotation/PreDestroyat org.eclipse.e4.core.internal.di.InjectorImpl.disposed(InjectorImpl.java:450)at org.eclipse.e4.core.internal.di.Requestor.disposed(Requestor.java:156)at org.eclipse.e4.core.internal.contexts.ContextObjectSupplier$ContextInjectionListener.update(ContextObjectSupplier.java:78)at org.eclipse.e4.core.internal.contexts.TrackableComputationExt.update(TrackableComputationExt.java:111)at org.eclipse.e4.core.internal.contexts.TrackableComputationExt.handleInvalid(TrackableComputationExt.java:74)at org.eclipse.e4.core.internal.contexts.EclipseContext.dispose(EclipseContext.java:178)at org.eclipse.e4.core.internal.contexts.osgi.EclipseContextOSGi.dispose(EclipseContextOSGi.java:99)at org.eclipse.e4.core.internal.contexts.osgi.EclipseContextOSGi.bundleChanged(EclipseContextOSGi.java:141)at org.eclipse.osgi.internal.framework.BundleContextImpl.dispatchEvent(BundleContextImpl.java:908)at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:148)at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEventPrivileged(EquinoxEventPublisher.java:213)at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEvent(EquinoxEventPublisher.java:120)at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEvent(EquinoxEventPublisher.java:112)at org.eclipse.osgi.internal.framework.EquinoxContainerAdaptor.publishModuleEvent(EquinoxContainerAdaptor.java:168)at org.eclipse.osgi.container.Module.publishEvent(Module.java:476)at org.eclipse.osgi.container.Module.doStop(Module.java:634)at org.eclipse.osgi.container.Module.stop(Module.java:498)at org.eclipse.osgi.container.SystemModule.stop(SystemModule.java:202)at org.eclipse.osgi.internal.framework.EquinoxBundle$SystemBundle$EquinoxSystemModule$1.run(EquinoxBundle.java:165)at java.base/java.lang.Thread.run(Thread.java:844)Caused by: java.lang.ClassNotFoundException: javax.annotation.PreDestroy cannot be found by org.eclipse.e4.core.di_1.6.100.v20170421-1418at 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)... 21 more解决办法:windows:    
D:\Program Files\eclipse\eclipse.ini

在文件末尾添加一行:

--add-modules=ALL-SYSTEM
MAC

在文件末尾添加一行:

--add-modules=ALL-SYSTEM

                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  eclipse jdk