【问题标题】:Bundle was not resolved because of a uses contraint violation in org.eclipse.e4.ui.workbench.swt由于 org.eclipse.e4.ui.workbench.swt 中的使用约束冲突,Bundle 未解决
【发布时间】:2019-06-02 20:06:21
【问题描述】:

我正在尝试构建我的 RCP 插件,但在尝试运行 tycho surefire 测试时遇到此错误-

Bundle was not resolved because of a uses contraint violation. org.osgi.service.resolver.ResolutionException: Uses constraint violation. Unable to resolve resource org.eclipse.e4.ui.workbench.swt [osgi.identity; osgi.identity="org.eclipse.e4.ui.workbench.swt"; type="osgi.bundle"; version:Version="0.14.1.v20160829-0832"; singleton:="true"] because it is exposed to package 'org.osgi.service.component' from resources org.eclipse.osgi.services [osgi.identity; osgi.identity="org.eclipse.osgi.services"; type="osgi.bundle"; version:Version="3.6.0.v20170116-1355"] and osgi.enterprise [osgi.identity; osgi.identity="osgi.enterprise"; type="osgi.bundle"; version:Version="4.2.0.v201108120515"] via two dependency chains.

  Chain 1:
  org.eclipse.e4.ui.workbench.swt [osgi.identity; osgi.identity="org.eclipse.e4.ui.workbench.swt"; type="osgi.bundle"; version:Version="0.14.1.v20160829-0832"; singleton:="true"]
    require: (&(osgi.wiring.bundle=org.eclipse.osgi.services)(&(bundle-version>=3.2.0)(!(bundle-version>=4.0.0))))
     |
    provide: osgi.wiring.bundle: org.eclipse.osgi.services
  org.eclipse.osgi.services [osgi.identity; osgi.identity="org.eclipse.osgi.services"; type="osgi.bundle"; version:Version="3.6.0.v20170116-1355"]

Chain 2:
  org.eclipse.e4.ui.workbench.swt [osgi.identity; osgi.identity="org.eclipse.e4.ui.workbench.swt"; type="osgi.bundle"; version:Version="0.14.1.v20160829-0832"; singleton:="true"]
    require: (&(osgi.extender=osgi.component)(version>=1.2)(!(version>=2.0)))
     |
    provide: osgi.extender; osgi.extender="osgi.component"; version:Version="1.2.0"; uses:="org.osgi.service.component"
  org.eclipse.equinox.ds [osgi.identity; osgi.identity="org.eclipse.equinox.ds"; type="osgi.bundle"; version:Version="1.4.400.v20160226-2036"; singleton:="true"]
    import: (&(osgi.wiring.package=org.osgi.service.component)(&(version>=1.1.0)(!(version>=1.3.0))))
     |
    export: osgi.wiring.package: org.osgi.service.component
  osgi.enterprise [osgi.identity; osgi.identity="osgi.enterprise"; type="osgi.bundle"; version:Version="4.2.0.v201108120515"]

【问题讨论】:

标签: java eclipse osgi eclipse-rcp


【解决方案1】:

您似乎已将捆绑包osgi.enterprise 安装到您的OSGi 框架中。该捆绑包不应在运行时使用——它是一个规范聚合捆绑包,旨在仅在编译时使用。

只需从运行时中删除捆绑包就可以了。

【讨论】:

  • 感谢您的建议,但我不确定在哪里进行更改。你能指导我吗?
猜你喜欢
  • 2021-08-14
  • 2017-04-28
  • 1970-01-01
  • 2016-07-03
  • 2013-02-16
  • 1970-01-01
  • 1970-01-01
  • 2011-01-31
  • 1970-01-01
相关资源
最近更新 更多