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,強制該軟件包解析爲舊版本的依賴項,但這就像用槍殺死一隻螞蟻:-) –