Eclipse Oxygen 无法 运行 - org.eclipse.swt.SWTException:无效的线程访问

Eclipse Oxygen fails to run - org.eclipse.swt.SWTException: Invalid thread access

我有以下问题:我的 eclipse Oxygen 无法 运行(附有错误)。 全新安装时一切正常,当我 运行 下载后(在 9 月 1a 日和 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)。 问题开始于 12 月 15 日星期五,在 运行 连接我的项目并同时解决示例 bnd 项目 (http://enroute.osgi.org/tutorial_base/600-testing.html) 的依赖项之后。之后无法运行 eclipse。 但是,我以前做过并且没有遇到任何问题(我的意思是打开示例并 运行ning 它)。另外,我已经清除了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)

Diff between fresh and dirty instalation


更新

刷新整个系统后,问题消失了一段时间,但又出现了,所以我认为它消除了 OS 影响。 由于 ,删除 configuration/org.eclipse.osgi templorary 解决了问题。 然而,当我安装 Oxygen 2 时,我注意到这个问题比以前少得多(实际上现在是 2 周内第 2 次,无论之前是否在任何可能的场合),所以也许它以一种好的方式出现......

你好像中了bug 477247。到目前为止,Eclipse 开发人员无法重现该问题,也许您可​​以通过添加重现错误的步骤或任何其他有用的详细信息来帮助他们。

我刚刚评论了错误 477247。我遇到了类似的异常(OSX)。允许我在不重新安装的情况下启动 Eclipse 的是删除 configuration/org.eclipse.osgi 文件夹。它看起来像一个包缓存,删除此类缓存对我来说在其他地方也有效。希望这也可以为开发者提供线索。