其他OSGi包的访问类

时间:2011-10-27 08:07:21

标签: osgi bundle

我的项目有两个包,比如Bundle ABundle B

现在Bundle A需要从Bundle B访问一个类。

我该怎么做?

2 个答案:

答案 0 :(得分:6)

有两种方法:

  1. 将捆绑包B的依赖关系添加到捆绑包A的清单:Require-Bundle: bundle-id-of-bundle-A
  2. 在包A的清单中导入所需类的包:Import-Package: package.of.your.class
  3. 在这两种情况下,您都需要在包B中导出包含您的类的包:Export-Package: package.of.your.class

    另外,这是一个很好的介绍: http://ctpjava.blogspot.com/2010/09/introduction-to-osgi.html

答案 1 :(得分:1)

正如@earcam所写,强烈建议使用Import-Package:

此外,始终在捆绑包B中向导出的包中添加一个版本 - 这是一种很好的做法,以后您在创建捆绑包A和B的下一版本时将会感激。