Eclipse plugin 第三方OSGi库依赖冲突

Eclipse plugin 第三方OSGi库依赖冲突,eclipse-plugin,osgi,Eclipse Plugin,Osgi,在我们基于Eclipse的产品中,我们引入了一个新的第三方插件,该插件依赖于AntlRv3.2+ 我们有一个现有的插件,也是第三方(openarchitectureware),它需要AntlRv3.0。问题在于openarchitectureware插件没有指定依赖项版本范围: Require-Bundle: org.openarchitectureware.core.workflow,org.apache.comm ons.logging, org.antlr.runtime,org.apac

在我们基于Eclipse的产品中,我们引入了一个新的第三方插件,该插件依赖于AntlRv3.2+

我们有一个现有的插件,也是第三方(openarchitectureware),它需要AntlRv3.0。问题在于openarchitectureware插件没有指定依赖项版本范围:

Require-Bundle: org.openarchitectureware.core.workflow,org.apache.comm ons.logging,
org.antlr.runtime,org.apache.log4j;resolution:=optional
这意味着他们尝试使用最新版本的ANTLR、3.2和break


在不改变openarchitectureware插件的情况下,有没有任何方法可以强制它们针对ANTLR 3.0进行解析,即使有更新的版本可用?

不幸的是,没有。您必须更改jar以添加正确的元数据。您还应该在openarchitectureware上报告此问题。所以他们可以为新版本生成正确的工件。

谢谢Christian,这正是我所期望的。我认为openarchitectureware项目已经失效,所以我想我们必须自己修改它们。你可以编写一个ResolveRook,强制捆绑包解析为旧版本的依赖项,但这就像用枪杀死蚂蚁一样:-)