我有以下问题:我的 Eclipse Oxygen 无法运行(附加错误)。当我在下载后运行它时(在 9 月 1 日和 12 月 2 日测试),在新安装时一切都很好。但是,当我重新启动计算机时,除非我重新安装它,否则 Eclipse 将不会再次启动。我已经清除了与我的项目相同的两个 eclipse 缓存(甚至从 repo 获取了新版本),工作区和 eclipse 安装位置也是新鲜的。我已阅读例如https://bugs.eclipse.org/bugs/show_bug.cgi?id=475392,https://bugs.eclipse.org/bugs/show_bug.cgi?id=514895和其他相关帖子,但没有帮助。任何想法?我正在使用 Windows 10 64 位和 JDK 9.0.1+11。我唯一的插件是 BndTools 3.5,最新的,项目需要 java 8(当前运行时 jdk 是 152)。在运行我的项目并同时解决示例 bnd 项目(http://enroute.osgi.org/tutorial_base/600-testing.html)中的依赖项之后,问题开始于 12 月 15 日星期五。之后无法运行eclipse。但是,我之前做过并且没有遇到任何问题(我的意思是打开示例并运行它)。另外,我已经清除了 p2、mvn 和 bnd 缓存。
下面提到了来自 eclipse .log 的堆栈:
!SESSION 2017-12-18 16:47:57.660 -----------------------------------------------
eclipse.buildId=4.7.2.M20171123-0800
java.version=9.0.1
java.vendor=Oracle Corporation
BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=pl_PL
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-12-18 16:47:59.711
!MESSAGE Application error
!STACK 1
org.eclipse.swt.SWTException: Invalid thread access
at org.eclipse.swt.SWT.error(SWT.java:4533)
at org.eclipse.swt.SWT.error(SWT.java:4448)
at org.eclipse.swt.SWT.error(SWT.java:4419)
at org.eclipse.swt.widgets.Display.error(Display.java:1263)
at org.eclipse.swt.widgets.Display.checkDevice(Display.java:767)
at org.eclipse.swt.widgets.Display.addListener(Display.java:628)
at org.eclipse.ui.internal.ide.application.IDEWorkbenchAdvisor.<init>(IDEWorkbenchAdvisor.java:187)
at org.eclipse.ui.internal.ide.application.IDEWorkbenchAdvisor.<init>(IDEWorkbenchAdvisor.java:195)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:152)
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)
更新
刷新整个系统后,问题消失了一段时间,但又出现了,所以在我看来它消除了操作系统的影响。正如Struarf 在他的回答中提到的那样,删除configuration/org.eclipse.osgi
临时文件可以解决问题。然而,当我安装了氧气 2 时,我注意到这个问题比以前少得多(实际上现在是第 2 次,持续了 2 周,无论以前是否出现在每个可能的场合),所以也许它是一个好方法......