0
在我们的基于Eclipse的产品中,我们引入了一个依赖于ANTLR v3.2 +的新的第三方插件。第三方OSGi库依赖冲突
我们有一个现有的插件,也是第三方(openarchitectureware),需要ANTLR v3.0。问题是,该插件了openArchitectureWare不指定依赖版本范围:
Require-Bundle: org.openarchitectureware.core.workflow,org.apache.comm ons.logging,
org.antlr.runtime,org.apache.log4j;resolution:=optional
这意味着他们试图使用最新版本的ANTLR,3.2,并打破。
有没有办法在不改变openarchitecture插件的情况下强制他们针对ANTLR 3.0进行解析,即使有更新的版本可用?
谢谢克里斯蒂安,那正是我期待的。我认为openarchitectureware项目已经失效,所以我想我们必须自己改变它们。 –
您可以编写一个ResolverHook,https://osgi.org/javadoc/r5/core/org/osgi/framework/hooks/resolver/package-summary.html,强制该软件包解析为旧版本的依赖项,但这就像用枪杀死一只蚂蚁:-) –