Abh*_*i.P 3 java eclipse spring java-9
我安装了Spring Tool Suite(版本3.9.0).它以前工作得很好.安装JDK 9后,我无法启动Spring Tool Suite.
我可以在错误日志中看到以下内容:
java.lang.NoClassDefFoundError:org.eclipse.e4.core.internal.di.InjectorImpl.disposed(InjectorImpl.java:450)中的javax/annotation/PreDestroy atg.eclipse.e4.core.internal.di.Requestor.disposed (Requestor.java:156)org.eclipse.e4.core.internal.contexts.ContextObjectSupplier $ ContextInjectionListener.update(ContextObjectSupplier.java:78)at org.eclipse.e4.core.internal.contexts.TrackableComputationExt.update(TrackableComputationExt) .java:111)org.eclipse.e4.core.internal.contexts.TrackableComputationExt.handleInvalid(TrackableComputationExt.java:74)at org.eclipse.e4.core.internal.contexts.EclipseContext.dispose(EclipseContext.java:178 )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) )在org.eclipse.osgi.framework.eventmgr.EventM的org.eclipse.osgi.internal.framework.BundleContextImpl.dispatchEvent(BundleContextImpl.java:908)anger.dispatchEvent(EventManager.java:230)org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:148)org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEventPrivileged(EquinoxEventPublisher.java: 213)位于org.eclipse.osgi的org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEvent(EquinoxEventPublisher.java:120)org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEvent(EquinoxEventPublisher.java:112) .internal.framework.EquinoxContainerAdaptor.publishModuleEvent(EquinoxContainerAdaptor.java:168)atg.eclipse.osgi.container.Module.publishEvent(Module.java:476)org.eclipse.osgi.container.Module.doStop(Module.java) :634)org.eclipse.osgi.container.Module.stop(Module.java:498)org.eclipse.osgi.container.SystemModule.stop(SystemModule.java:202)org.eclipse.osgi.internal.在java.base/java中的framework.EquinoxBundle $ SystemBundle $ EquinoxSystemModule $ 1.run(EquinoxBundle.java:165).lang.Thread.run(Thread.java:844)引起:java.lang.ClassNotFoundException:org.eclipse中的org.eclipse.e4.core.di_1.6.100.v20170421-1418找不到javax.annotation.PreDestroy. osg.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:433)位于org.eclipse.osgi.BongleLoader.findClass(BundleLoader.java:395)的org.eclipse.osgi.internal.loader.BundleLoader. findClass(BundleLoader.java:387)位于java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:496)的org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:150)
这个问题真的是因为JDK 9吗?请指出我正确的方向来解决问题.
谢谢.
是的,这是由于Java 9. Eclipse中可能存在错误修复(请参阅https://bugs.eclipse.org/bugs/show_bug.cgi?id=525583)但是现在您可以使用解决方法:添加--add-modules=ALL-SYSTEM
到eclipse.ini中的启动配置.有关完整示例,请参阅https://bugs.eclipse.org/bugs/show_bug.cgi?id=493761.
归档时间: |
|
查看次数: |
897 次 |
最近记录: |