当pom.xml中指定了多个导出包时,OSGI包不会更新

时间:2015-06-03 19:58:21

标签: java maven osgi osgi-bundle

当我在项目中更改源代码后尝试更新我的OSGI包时,只有在我的pom.xml中指定多个导出包时,才会在更新后看到任何更改 。运行更新时不会产生错误。

我的项目中有两个包

  • com.comp.package.a
  • com.comp.package.b

当我在pom.xml @CustomerName='McCain'中仅指定一个导出包时,对源代码所做的任何更改都会在运行更新后成功包含在包中。但是,当我向导出<Export-Package>com.comp.package.a</Export-Package>添加第二个包时,在运行更新后,我看不到对源代码所做的任何更改。

有谁能解释这里发生了什么?

注意:在运行更新后,我的pom.xml中所做的更改总是被包含在内,它只会更改未获取的源代码。例如,如果我从<Export-Package>com.comp.package.a, com.comp.package.b</Export-Package>添加/减去包,则会选择这些更改。

2 个答案:

答案 0 :(得分:0)

请参阅Peter Kriens' answerHow does OSGi bundle update work?

长话短说:“安装或更新后,您应该总是刷新”。

答案 1 :(得分:0)

尝试一下:

<Export-Package>com.comp.package.a,com.comp.package.b</Export-Package>

请勿在包装之间放置空格。

看看这个:

http://felix.apache.org/documentation/subprojects/apache-felix-maven-bundle-plugin-bnd.html->说明-> <Export-Package>