eclipse首次打开就出错,大神帮我看看

报错如下
打开提示的文件,内容如下:
!ENTRY org.eclipse.e4.ui.workbench 4 0 2017-09-29 16:25:49.746
!MESSAGE FrameworkEvent ERROR
!STACK 0
java.lang.NoClassDefFoundError: javax/annotation/PreDestroy
at 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(Unknown Source)
Caused by: java.lang.ClassNotFoundException: javax.annotation.PreDestroy 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(Unknown Source)
... 21 more

7个回答

用jdk8 就可以了 eclipse还没有和9的环境吻合 少了个类

silence_icon
silence_icon 正解
接近 3 年之前 回复

或者尝试在D:\Program Files\eclipse\eclipse.ini中最后一行加入--add-modules=ALL-SYSTEM

weixin_43522377
weixin_43522377 比那些说半天不痛不痒的,还不能帮你解决的牛太多。关键是白看了没用还会把你搞混。多谢
8 个月之前 回复
weixin_43522377
weixin_43522377 就喜欢这种直接解决的方法
8 个月之前 回复
weixin_43522377
weixin_43522377 真的秀
8 个月之前 回复
Z_Myin
Z_Myin 厉害厉害,可以了
接近 2 年之前 回复
weixin_41762592
weixin_41762592 厉害可以了,简单方便
大约 2 年之前 回复
nuoyi0618
nuoyi0618 大神大神特意登录来评论
2 年多之前 回复
qq_33947906
qq_33947906 感觉是java9的原因,厉害了大神
接近 3 年之前 回复
Sc_Jn
ScJstin 厉害,可以了
接近 3 年之前 回复

首先,你看看你的这个路径下面 D:/workplaces/.metadata/.plugins/org.eclipse.core.resources/有没有一个.snap的文档,然后把它删了.
.如果不行,那么可以尝试使用下面的方法重新指定一个workspace即可:
1.找到“\configuration.settings\org.eclipse.ui.ide.prefs”文件(其中Eclipse_root_dir为你的eclipse程序根目录)
2.修改其中的“SHOW_WORKSPACE_SELECTION_DIALOG”为true
3.启动eclipse,在弹出的选择workspace对话框,修改为新的workspace即可,然后导入
你之前工程文件夹下的工程即可

cat_dadada
cat_dadada 厉害了大神
4 个月之前 回复

解决了,换成JDK9以下的版本就可以了,可能是9还没有完善好

缺少对应的jar包,具体缺哪个就不清楚了
javax.annotation-api.jar

重新解压eclipse那个压缩包,把configuration那个文件更换成新解压的

自己确定是否安装了JDK,最好去eclipse官网下载,下载压缩包,直接解压可用,这个你看看是不是显示路径的文件损坏了,直接新下载一个重新还更快

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐