2011-10-27 55 views

回答

6

有兩種方式:

  1. 添加捆B的依賴性束A的清單:Require-Bundle: bundle-id-of-bundle-A
  2. 導入捆綁A的清單包通緝類:Import-Package: package.of.your.class

在這兩種情況下,您都需要導出捆綁包B中包含您類的包:Export-Package: package.of.your.class

此外,這裏有一個很好的介紹: http://ctpjava.blogspot.com/2010/09/introduction-to-osgi.html

+3

作爲@thobens指出有兩種方法;但Require-Bundle是不好的做法,你應該只在OSGi中使用Import-Package - 這個包是模塊化的單元,這就是你應該依賴的東西,參見http://stackoverflow.com/questions/1865819/when-should -i-use-import-package-and-when-should-i-use-require-bundle,http://njbartlett.name/2011/02/09/uses-constraints.html和http://www.osgi .org/blog/2011/05/unbearable-lightness-of-jigsaw.html更深入的討論爲什麼Require-Bundle不好。 – earcam

1

正如@earcam寫道,強烈建議使用Import-Package:

此外,隨時添加一個版本到捆B導出的包 - 這是當你創建包A和下一個版本B.你以後會明白的良好做法