2012-05-04 85 views
0

我們有一個OSGi應用程序:Maven構建如何依賴另一個jar文件中的jar文件?

捆綁包A - >沒有什麼,但引用10個jar文件,導出這10個jar文件的所有包,以滿足運行時調用。

捆綁包B - >導入從捆綁包導出的包A.運行正常。

但是當我使用Maven構建Bundle B時,出現了問題。這裏是一塊包B的pom.xml中的:

<dependency> 
    <groupId>com.mycom.id</groupId> 
    <artifactId>com.mycom.BundleA</artifactId> 
    <version>${version.range}</version> 
    <scope>provided</scope> 
</dependency> 

當我提到的的artifactId:捆紮A,建立失效。 Maven無法引用項目中的jar文件。 我無法找到一種方法來引用另一個項目中的jar文件,因此任何人都可以提供一種解決方案來解決建築時的這種依賴性問題嗎?

+1

Bundle A對我來說沒有任何意義,我們通常直接將10個jar依賴項添加到Bundle B的pom.xml中。 – yorkw

+0

任何其他方式訪問A內的罐子? – JerryCai

+0

只需將依賴關係添加到10個原始包中即可 –

回答

1

您不應該用這種方式捆綁組件。在OSGi中將一個jar包捆綁到另一個jar包中是不明智的,如果你這樣做,不應該導出jar包。如果軟件包需要可用於其他軟件包,那麼該軟件包應該是OSGi軟件包。

請參閱this question關於您的方法。

1

您是否將10個瓶子設置爲Bundle A的依賴關係?如果是的話,Maven應該能夠在引用Bundle A時找到傳遞依賴關係。

相關問題