2012-11-01 79 views
2

我在OSGi中有共同的「使用衝突」的問題,我是新的OSGi非常抱歉,如果這是非常簡單的。我已閱讀thisthis other問題。我也讀過this,它更詳細地解釋瞭如何調試這些問題;但是,我無法弄清楚。我找不到重複的出口(報價即最後一篇文章「必須始終有一個以上的供應商給你看一個使用約束衝突。」)包使用衝突:導入包與jasperreports

這是完全錯誤

[email protected]:file:../../Dev/mine/target/dependency/jasperreports-3.7.1-osgi.jar [151] 
    Package uses conflict: Import-Package: org.apache.commons.collections.comparators; version="0.0.0" 

這裏是碧玉清單的相關片段。這是太長粘貼完全

Export-Package: ...,net.sf.jasperreports.crosstabs.fill.calculation;uses:="org.apache.commons.collections,net.sf.jasperreports.engine,org.apache.commons.collections.comparators,org.apache.commons.logging,..." 

,這裏是的packages org.apache.commons.collections.comparators輸出顯示,該包裝是正確的出口,只有一次

osgi> packages org.apache.commons.collections.comparators 
org.apache.commons.collections.comparators; version="3.2.0"<org.apache.commons.collections_3.2.0 [869]> 

任何想法?別的我可以嘗試?我真的懷疑,但是,equinox抱怨導出的版本是3.2.0,但uses版本是0.0.0?

回答

0

我結束了第三個選項。這與@PeterKriens的建議有關,希望這將成爲別人解決這些問題的另一種方法。 我安裝了Karaf,它運行在Felix之上,並使用熱部署文件夾一次部署一個罐子。這樣,我可以看到他們出現問題。這是非常緩慢但冗長。只使用菲利克斯我發現沒有辦法像這樣部署

2

嘗試在Apache Felix上運行此操作。它在發現使用衝突時提供廣泛的跟蹤。