2017-09-26 77 views
0

刚刚在我的电脑上安装了最新的Eclipse Neon。被问到工作空间后,我收到一条错误消息,要求我检查.log。这是信息。有人知道怎么修这个东西吗?在被问到工作空间后启动Eclipse时出现霓虹灯错误

!SESSION 2017-09-26 14:29:06.537 ----------------------------------------------- 
eclipse.buildId=4.6.3.M20170301-0400 
java.version=9 
java.vendor=Oracle Corporation 
BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=en_CA 
Framework arguments: -product org.eclipse.epp.package.java.product 
Command-line arguments: -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.java.product 

!ENTRY org.eclipse.osgi 4 0 2017-09-26 14:29:11.308 
!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

看起来这是由于使用Java 9,可以下载Java 8 JDK并指向Eclipse来使用它或遵循此配置。

https://wiki.eclipse.org/Configure_Eclipse_for_Java_9

我会使用Java JDK 8作为Java 9支持仍然是测试版建议而已。

+0

我该如何指导Eclipse使用JDK 8?我无法打开日食来做到这一点。 – wgray

+0

看到顶部标记的答案。它通过配置文件配置 - 'eclipse.ini' https://stackoverflow.com/questions/46369792/why-wont-eclipse-oxygen-start-for-the-first-time –