Java Eclipse霓虹灯将不会运行

Java Eclipse霓虹灯将不会运行,java,eclipse,eclipse-neon,Java,Eclipse,Eclipse Neon,我单击eclipse.exe,出现一个框,上面写着“发生了一个错误:请参阅日志文件C:\Users\sam\workspace\.metadata\.log”。我搜索了这条错误消息,发现很多人都有同样的问题(包括,和,还有很多其他问题),但任何答案中的解决方案都不适合我,甚至错误消息中的一点变化都不适合我。然后我搜索了日志文件中的特定错误,即: !ENTRY org.eclipse.e4.ui.workbench 4 0 2019-06-27 12:56:35.009 !MESSAGE Fram

我单击eclipse.exe,出现一个框,上面写着“发生了一个错误:请参阅日志文件C:\Users\sam\workspace\.metadata\.log”。我搜索了这条错误消息,发现很多人都有同样的问题(包括,和,还有很多其他问题),但任何答案中的解决方案都不适合我,甚至错误消息中的一点变化都不适合我。然后我搜索了日志文件中的特定错误,即:

!ENTRY org.eclipse.e4.ui.workbench 4 0 2019-06-27 12:56:35.009
!MESSAGE FrameworkEvent ERROR
!STACK 0
java.lang.NoClassDefFoundError: javax/annotation/PreDestroy
    at org.eclipse.e4.core.internal.di.InjectorImpl.disposed(InjectorImpl.java:426)
    at org.eclipse.e4.core.internal.di.Requestor.disposed(Requestor.java:154)
    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:176)
    at org.eclipse.e4.core.internal.contexts.osgi.EclipseContextOSGi.dispose(EclipseContextOSGi.java:106)
    at org.eclipse.e4.core.internal.contexts.osgi.EclipseContextOSGi.bundleChanged(EclipseContextOSGi.java:139)
    at org.eclipse.osgi.internal.framework.BundleContextImpl.dispatchEvent(BundleContextImpl.java:903)
    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:156)
    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.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(ClassLoader.java:499)
    ... 21 more

还发现了一些不起作用的东西

以下是我尝试过的一些事情:

  • 删除并重新安装Eclipse
  • 转到命令行并使用
    eclipse.exe-clean
    eclipse.exe-clean--launcher.ini(eclipse.ini的路径)
    ,以及
    eclipse.exe-clean--clearPersistedState
    ,运行eclipse,均未更改结果
  • 删除整个.metadata文件夹、整个工作区文件夹和.plugins文件夹的内容
  • 以各种方式更改eclipse.ini文件,包括将
    .clean
    放在顶部,将
    -vmargs
    替换为
    -vm
    以及指向
    javaw.exe
    的路径。没有任何效果,甚至没有任何改变
  • 以管理员身份运行eclipse(即,我绝望了)
我有Windows 10 64位,Eclipse Neon 3 64位,java在我的路径中,这是我键入
java-version
时出现的:

java version "10.0.2" 2018-07-17
Java(TM) SE Runtime Environment 18.3 (build 10.0.2+13)
Java HotSpot(TM) 64-Bit Server VM 18.3 (build 10.0.2+13, mixed mode)

我不太愿意就此提出这个问题,但我认为自从上次提出这个问题以来,事情可能已经发生了变化。这些解决方案对我都不起作用,目前我没有其他选择。

正如greg-449在一篇评论中提到的,您不能将Java 10与Neon一起使用

EclipseWiki上有一个指定给定版本的eclipse需要哪些Java版本的链接

您会注意到,在Eclipse(Neon)条目中,它指定了“需要Java 8 JRE/JDK…”,而不是版本或更高版本,后者需要“Java 8或更高版本的JRE/JDK…”

本节对此作了进一步澄清,其中有一条警告:

如果使用Java9或更新版本,请使用Eclipse4.7.1a或更新版本,因为它在EclipseLauncher中包含修复程序以添加所有JVM模块


EclipseNeon太旧,无法使用Java10运行。使用当前的Eclipse 2019-06或返回Java 8。非常感谢!我已经有一段时间没有使用eclipse了(我使用的是Android Studio),从那以后,我更新了Java版本,这就是原因。这让我想知道为什么他们不把它放在错误消息的任何地方。。。