安装 JBoss 工具后 Eclipse 失败

Eclipse fails after installing JBoss Tools

安装 JBoss 工具并重新启动 Eclipse IDE 后,出现以下异常:

An error has occured. See the log file /home/abc/workspace/.metadata/.log

Eclipse 不再启动。谁能帮我解决这个问题?

我的设置:

日志文件:

!SESSION Wed Mar 22 21:41:43 CET 2017 ------------------------------------------
!ENTRY org.eclipse.equinox.launcher 4 0 2017-03-22 21:41:43.812
!MESSAGE Could not find extension: org.eclipse.wst.jsdt.nashorn.extension
!SESSION 2017-03-22 21:41:43.742 -----------------------------------------------
eclipse.buildId=4.6.2.v20170109-1424
java.version=1.8.0_121
java.vendor=Oracle Corporation
BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=de_CH
Command-line arguments:  -os linux -ws gtk -arch x86_64

!ENTRY org.eclipse.osgi 4 0 2017-03-22 21:41:44.473
!MESSAGE Bundle org.eclipse.wst.jsdt.nashorn.extension not found.

!ENTRY org.jboss.tools.vpe.cordovasim.eclipse 4 0 2017-03-22 21:41:45.447
!MESSAGE FrameworkEvent ERROR
!STACK 0
org.osgi.framework.BundleException: Could not resolve module: org.jboss.tools.vpe.cordovasim.eclipse [1051]
  Unresolved requirement: Require-Bundle: org.jboss.tools.vpe.cordovasim; bundle-version="3.5.0"
    -> Bundle-SymbolicName: org.jboss.tools.vpe.cordovasim; bundle-version="3.5.1.Final-v20140303-0018-B169"
       org.jboss.tools.vpe.cordovasim [1050]
         No resolution report for the bundle.  Bundle was not resolved because of a uses contraint violation.
  org.osgi.service.resolver.ResolutionException: Uses constraint violation. Unable to resolve resource org.jboss.tools.vpe.cordovasim [osgi.identity; type="osgi.bundle"; version:Version="3.5.1.Final-v20140303-0018-B169"; osgi.identity="org.jboss.tools.vpe.cordovasim"] because it is exposed to package 'org.eclipse.jetty.continuation' from resources org.eclipse.jetty.continuation [osgi.identity; type="osgi.bundle"; version:Version="9.4.0.M0"; osgi.identity="org.eclipse.jetty.continuation"] and org.eclipse.jetty.continuation [osgi.identity; type="osgi.bundle"; version:Version="8.1.14.v20131031"; osgi.identity="org.eclipse.jetty.continuation"] via two dependency chains.

Chain 1:
  org.jboss.tools.vpe.cordovasim [osgi.identity; type="osgi.bundle"; version:Version="3.5.1.Final-v20140303-0018-B169"; osgi.identity="org.jboss.tools.vpe.cordovasim"]
    require: (&(osgi.wiring.bundle=org.eclipse.jetty.continuation)(bundle-version>=8.1.3))
     |
    provide: osgi.wiring.bundle: org.eclipse.jetty.continuation
  org.eclipse.jetty.continuation [osgi.identity; type="osgi.bundle"; version:Version="9.4.0.M0"; osgi.identity="org.eclipse.jetty.continuation"]

Chain 2:
  org.jboss.tools.vpe.cordovasim [osgi.identity; type="osgi.bundle"; version:Version="3.5.1.Final-v20140303-0018-B169"; osgi.identity="org.jboss.tools.vpe.cordovasim"]
    require: (&(osgi.wiring.bundle=org.eclipse.jetty.servlets)(bundle-version>=8.1.3))
     |
    provide: osgi.wiring.bundle; bundle-version:Version="8.1.10.v20130312"; osgi.wiring.bundle="org.eclipse.jetty.servlets"
  org.eclipse.jetty.servlets [osgi.identity; type="osgi.bundle"; version:Version="8.1.10.v20130312"; osgi.identity="org.eclipse.jetty.servlets"]
    import: (&(osgi.wiring.package=org.eclipse.jetty.server)(&(version>=8.1.0)(!(version>=9.0.0))))
     |
    export: osgi.wiring.package=org.eclipse.jetty.server; uses:=org.eclipse.jetty.continuation
  org.eclipse.jetty.server [osgi.identity; type="osgi.bundle"; version:Version="8.1.14.v20131031"; osgi.identity="org.eclipse.jetty.server"]
    import: (&(osgi.wiring.package=org.eclipse.jetty.continuation)(&(version>=8.1.0)(!(version>=9.0.0))))
     |
    export: osgi.wiring.package: org.eclipse.jetty.continuation
  org.eclipse.jetty.continuation [osgi.identity; type="osgi.bundle"; version:Version="8.1.14.v20131031"; osgi.identity="org.eclipse.jetty.continuation"]
    at org.eclipse.osgi.container.Module.start(Module.java:444)
    at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1620)
    at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1599)
    at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1571)
    at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1514)
    at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1)
    at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
    at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340)

!ENTRY org.eclipse.ui 2 0 2017-03-22 21:41:47.664
!MESSAGE Warnings while parsing the commands from the 'org.eclipse.ui.commands' and 'org.eclipse.ui.actionDefinitions' extension points.
!SUBENTRY 1 org.eclipse.ui 2 0 2017-03-22 21:41:47.664
!MESSAGE Commands should really have a category: plug-in='net.sf.eclipsecs.ui', id='CheckstylePlugin.PurgeCaches', categoryId='net.sf.eclipsecs'

!ENTRY org.eclipse.ui 2 0 2017-03-22 21:41:48.283
!MESSAGE Warnings while parsing the commands from the 'org.eclipse.ui.commands' and 'org.eclipse.ui.actionDefinitions' extension points.
!SUBENTRY 1 org.eclipse.ui 2 0 2017-03-22 21:41:48.283
!MESSAGE Commands should really have a category: plug-in='net.sf.eclipsecs.ui', id='CheckstylePlugin.PurgeCaches', categoryId='net.sf.eclipsecs'

!ENTRY org.jboss.tools.xulrunner.initializer 2 0 2017-03-22 21:41:50.274
!MESSAGE Could not resolve module: org.jboss.tools.xulrunner.initializer [1068]
  Unresolved requirement: Fragment-Host: org.eclipse.swt
  Unresolved requirement: Fragment-Host: org.eclipse.swt


!ENTRY org.jboss.tools.vpe.cordovasim.eclipse 2 0 2017-03-22 21:41:50.281
!MESSAGE Could not resolve module: org.jboss.tools.vpe.cordovasim.eclipse [1051]
  Unresolved requirement: Require-Bundle: org.jboss.tools.vpe.cordovasim; bundle-version="3.5.0"
    -> Bundle-SymbolicName: org.jboss.tools.vpe.cordovasim; bundle-version="3.5.1.Final-v20140303-0018-B169"
       org.jboss.tools.vpe.cordovasim [1050]
         Bundle was not resolved because of a uses contraint violation.
  org.osgi.service.resolver.ResolutionException: Uses constraint violation. Unable to resolve resource org.jboss.tools.vpe.cordovasim [osgi.identity; type="osgi.bundle"; version:Version="3.5.1.Final-v20140303-0018-B169"; osgi.identity="org.jboss.tools.vpe.cordovasim"] because it is exposed to package 'org.eclipse.jetty.continuation' from resources org.eclipse.jetty.continuation [osgi.identity; type="osgi.bundle"; version:Version="9.4.0.M0"; osgi.identity="org.eclipse.jetty.continuation"] and org.eclipse.jetty.continuation [osgi.identity; type="osgi.bundle"; version:Version="8.1.14.v20131031"; osgi.identity="org.eclipse.jetty.continuation"] via two dependency chains.

Chain 1:
  org.jboss.tools.vpe.cordovasim [osgi.identity; type="osgi.bundle"; version:Version="3.5.1.Final-v20140303-0018-B169"; osgi.identity="org.jboss.tools.vpe.cordovasim"]
    require: (&(osgi.wiring.bundle=org.eclipse.jetty.continuation)(bundle-version>=8.1.3))
     |
    provide: osgi.wiring.bundle: org.eclipse.jetty.continuation
  org.eclipse.jetty.continuation [osgi.identity; type="osgi.bundle"; version:Version="9.4.0.M0"; osgi.identity="org.eclipse.jetty.continuation"]

Chain 2:
  org.jboss.tools.vpe.cordovasim [osgi.identity; type="osgi.bundle"; version:Version="3.5.1.Final-v20140303-0018-B169"; osgi.identity="org.jboss.tools.vpe.cordovasim"]
    require: (&(osgi.wiring.bundle=org.eclipse.jetty.servlets)(bundle-version>=8.1.3))
     |
    provide: osgi.wiring.bundle; bundle-version:Version="8.1.10.v20130312"; osgi.wiring.bundle="org.eclipse.jetty.servlets"
  org.eclipse.jetty.servlets [osgi.identity; type="osgi.bundle"; version:Version="8.1.10.v20130312"; osgi.identity="org.eclipse.jetty.servlets"]
    import: (&(osgi.wiring.package=org.eclipse.jetty.server)(&(version>=8.1.0)(!(version>=9.0.0))))
     |
    export: osgi.wiring.package=org.eclipse.jetty.server; uses:=org.eclipse.jetty.continuation
  org.eclipse.jetty.server [osgi.identity; type="osgi.bundle"; version:Version="8.1.14.v20131031"; osgi.identity="org.eclipse.jetty.server"]
    import: (&(osgi.wiring.package=org.eclipse.jetty.continuation)(&(version>=8.1.0)(!(version>=9.0.0))))
     |
    export: osgi.wiring.package: org.eclipse.jetty.continuation
  org.eclipse.jetty.continuation [osgi.identity; type="osgi.bundle"; version:Version="8.1.14.v20131031"; osgi.identity="org.eclipse.jetty.continuation"]  Bundle was not resolved because of a uses contraint violation.
  org.osgi.service.resolver.ResolutionException: Uses constraint violation. Unable to resolve resource org.jboss.tools.vpe.cordovasim [osgi.identity; type="osgi.bundle"; version:Version="3.5.1.Final-v20140303-0018-B169"; osgi.identity="org.jboss.tools.vpe.cordovasim"] because it is exposed to package 'org.eclipse.jetty.continuation' from resources org.eclipse.jetty.continuation [osgi.identity; type="osgi.bundle"; version:Version="9.4.0.M0"; osgi.identity="org.eclipse.jetty.continuation"] and org.eclipse.jetty.continuation [osgi.identity; type="osgi.bundle"; version:Version="8.1.14.v20131031"; osgi.identity="org.eclipse.jetty.continuation"] via two dependency chains.

Chain 1:
  org.jboss.tools.vpe.cordovasim [osgi.identity; type="osgi.bundle"; version:Version="3.5.1.Final-v20140303-0018-B169"; osgi.identity="org.jboss.tools.vpe.cordovasim"]
    require: (&(osgi.wiring.bundle=org.eclipse.jetty.continuation)(bundle-version>=8.1.3))
     |
    provide: osgi.wiring.bundle: org.eclipse.jetty.continuation
  org.eclipse.jetty.continuation [osgi.identity; type="osgi.bundle"; version:Version="9.4.0.M0"; osgi.identity="org.eclipse.jetty.continuation"]

Chain 2:
  org.jboss.tools.vpe.cordovasim [osgi.identity; type="osgi.bundle"; version:Version="3.5.1.Final-v20140303-0018-B169"; osgi.identity="org.jboss.tools.vpe.cordovasim"]
    require: (&(osgi.wiring.bundle=org.eclipse.jetty.servlets)(bundle-version>=8.1.3))
     |
    provide: osgi.wiring.bundle; bundle-version:Version="8.1.10.v20130312"; osgi.wiring.bundle="org.eclipse.jetty.servlets"
  org.eclipse.jetty.servlets [osgi.identity; type="osgi.bundle"; version:Version="8.1.10.v20130312"; osgi.identity="org.eclipse.jetty.servlets"]
    import: (&(osgi.wiring.package=org.eclipse.jetty.server)(&(version>=8.1.0)(!(version>=9.0.0))))
     |
    export: osgi.wiring.package=org.eclipse.jetty.server; uses:=org.eclipse.jetty.continuation
  org.eclipse.jetty.server [osgi.identity; type="osgi.bundle"; version:Version="8.1.14.v20131031"; osgi.identity="org.eclipse.jetty.server"]
    import: (&(osgi.wiring.package=org.eclipse.jetty.continuation)(&(version>=8.1.0)(!(version>=9.0.0))))
     |
    export: osgi.wiring.package: org.eclipse.jetty.continuation
  org.eclipse.jetty.continuation [osgi.identity; type="osgi.bundle"; version:Version="8.1.14.v20131031"; osgi.identity="org.eclipse.jetty.continuation"]

!ENTRY org.jboss.tools.foundation.security.linux 2 0 2017-03-22 21:41:50.282
!MESSAGE Could not resolve module: org.jboss.tools.foundation.security.linux [997]
  Unresolved requirement: Fragment-Host: org.eclipse.equinox.security; bundle-version="1.1.100"
  Unresolved requirement: Fragment-Host: org.eclipse.equinox.security; bundle-version="1.1.100"


!ENTRY org.jboss.tools.vpe.cordovasim 2 0 2017-03-22 21:41:50.282
!MESSAGE Could not resolve module: org.jboss.tools.vpe.cordovasim [1050]
  Bundle was not resolved because of a uses contraint violation.
  org.osgi.service.resolver.ResolutionException: Uses constraint violation. Unable to resolve resource org.jboss.tools.vpe.cordovasim [osgi.identity; type="osgi.bundle"; version:Version="3.5.1.Final-v20140303-0018-B169"; osgi.identity="org.jboss.tools.vpe.cordovasim"] because it is exposed to package 'org.eclipse.jetty.continuation' from resources org.eclipse.jetty.continuation [osgi.identity; type="osgi.bundle"; version:Version="9.4.0.M0"; osgi.identity="org.eclipse.jetty.continuation"] and org.eclipse.jetty.continuation [osgi.identity; type="osgi.bundle"; version:Version="8.1.14.v20131031"; osgi.identity="org.eclipse.jetty.continuation"] via two dependency chains.

Chain 1:
  org.jboss.tools.vpe.cordovasim [osgi.identity; type="osgi.bundle"; version:Version="3.5.1.Final-v20140303-0018-B169"; osgi.identity="org.jboss.tools.vpe.cordovasim"]
    require: (&(osgi.wiring.bundle=org.eclipse.jetty.continuation)(bundle-version>=8.1.3))
     |
    provide: osgi.wiring.bundle: org.eclipse.jetty.continuation
  org.eclipse.jetty.continuation [osgi.identity; type="osgi.bundle"; version:Version="9.4.0.M0"; osgi.identity="org.eclipse.jetty.continuation"]

Chain 2:
  org.jboss.tools.vpe.cordovasim [osgi.identity; type="osgi.bundle"; version:Version="3.5.1.Final-v20140303-0018-B169"; osgi.identity="org.jboss.tools.vpe.cordovasim"]
    require: (&(osgi.wiring.bundle=org.eclipse.jetty.servlets)(bundle-version>=8.1.3))
     |
    provide: osgi.wiring.bundle; bundle-version:Version="8.1.10.v20130312"; osgi.wiring.bundle="org.eclipse.jetty.servlets"
  org.eclipse.jetty.servlets [osgi.identity; type="osgi.bundle"; version:Version="8.1.10.v20130312"; osgi.identity="org.eclipse.jetty.servlets"]
    import: (&(osgi.wiring.package=org.eclipse.jetty.server)(&(version>=8.1.0)(!(version>=9.0.0))))
     |
    export: osgi.wiring.package=org.eclipse.jetty.server; uses:=org.eclipse.jetty.continuation
  org.eclipse.jetty.server [osgi.identity; type="osgi.bundle"; version:Version="8.1.14.v20131031"; osgi.identity="org.eclipse.jetty.server"]
    import: (&(osgi.wiring.package=org.eclipse.jetty.continuation)(&(version>=8.1.0)(!(version>=9.0.0))))
     |
    export: osgi.wiring.package: org.eclipse.jetty.continuation
  org.eclipse.jetty.continuation [osgi.identity; type="osgi.bundle"; version:Version="8.1.14.v20131031"; osgi.identity="org.eclipse.jetty.continuation"]

!ENTRY org.eclipse.osgi 4 0 2017-03-22 21:41:50.282
!MESSAGE Application error
!STACK 1
org.eclipse.e4.ui.css.core.sac.ParserNotFoundException: java.lang.ClassCastException: org.apache.batik.css.parser.Parser cannot be cast to org.w3c.css.sac.Parser
    at org.eclipse.e4.ui.css.core.impl.dom.parsers.AbstractCSSParser.getParser(AbstractCSSParser.java:149)
    at org.eclipse.e4.ui.css.core.impl.dom.parsers.AbstractCSSParser.parseStyleSheet(AbstractCSSParser.java:58)
    at org.eclipse.e4.ui.css.core.impl.engine.AbstractCSSEngine.parseStyleSheet(AbstractCSSEngine.java:183)
    at org.eclipse.e4.ui.css.swt.internal.theme.ThemeEngine.setTheme(ThemeEngine.java:428)
    at org.eclipse.e4.ui.css.swt.internal.theme.ThemeEngine.setTheme(ThemeEngine.java:389)
    at org.eclipse.e4.ui.css.swt.internal.theme.ThemeEngine.setTheme(ThemeEngine.java:381)
    at org.eclipse.e4.ui.css.swt.internal.theme.ThemeEngine.restore(ThemeEngine.java:568)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.setCSSTheme(PartRenderingEngine.java:1399)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.initializeStyling(PartRenderingEngine.java:1292)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1026)
    at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1022)
    at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:150)
    at org.eclipse.ui.internal.Workbench.run(Workbench.java:693)
    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 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    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.ClassCastException: org.apache.batik.css.parser.Parser cannot be cast to org.w3c.css.sac.Parser
    at org.eclipse.e4.ui.css.core.impl.sac.SACParserFactoryImpl.makeParser(SACParserFactoryImpl.java:49)
    at org.eclipse.e4.ui.css.core.sac.SACParserFactory.makeParser(SACParserFactory.java:36)
    at org.eclipse.e4.ui.css.core.impl.dom.parsers.AbstractCSSParser.getParser(AbstractCSSParser.java:139)
    ... 30 more

您从这个更新站点获得的 JBoss 工具的版本是 2014 年的。它太旧了。正确的更新站点 link 是:http://download.jboss.org/jbosstools/neon/stable/updates/.

目前最新的稳定版本是4.4。3.Final:http://tools.jboss.org/downloads/jbosstools/neon/4.4.3.Final.html

您可以在这里找到其他版本(开发版和夜间版):http://tools.jboss.org/downloads/jbosstools/neon/index.html

将 jbosstools 插件安装到 Eclipse 的最好和最简单的方法是使用 Eclipse Marketplace 插件:https://marketplace.eclipse.org/content/jboss-tools.

旧视频,但仍然是真实的视频,其中包含有关如何通过 Eclipse Marketplace 插件安装 JBoss 工具的说明:http://tools.jboss.org/downloads/installation.html

我更新了 /updates/stable 页面 [1] 上的 README.html 以将用户指向最新的 JBoss 工具版本 [2]。

[1] http://download.jboss.org/jbosstools/updates/stable/

[2] http://tools.jboss.org/downloads/jbosstools/

还更新了 [1] 中的复合*.xml 文件以指向 Neon 版本,尽管此 URL 不应始终被视为当前版本(如您所见,它是将您指向基于 Eclipse Kepler 的 JBoss Tools 4.1 版本,而不是基于 Neon 的 4.4 版本。