强制OSGi包由maven-bundle-plugin / BND导入

时间:2010-06-22 15:25:32

标签: java osgi

我尝试使用maven-bundle-plugin(使用BND)打包OSGI包。

为了正常运行,bundle必须在开发期间导入一个不在类路径中的包(因为对象引用将作为“Class”引用传递给bundle方法)。

我无法在pom.xml或* .bnd文件中配置“Import-Package”声明,以便packe将包含在MANIFEST的OSGI Import-Package部分中。我虽然

Import-Package: de.foo.bar,*

应该完成这项工作,但由于de.foo.bar不在类路径中(或者最好不在代码中声明为导入),因此不会将其带到MANIFEST。

有人知道如何强制在OSGi Import-Package MANIFEST声明中提供包。

谢谢和问候 克劳斯

1 个答案:

答案 0 :(得分:3)

我终于找到了解决方案

Import-Package: de.foo.bar;resolution:=optional,*

将“de.foo.bar”放在捆绑MANIFEST.MF的“Import-Package”声明中,即使捆绑包代码未导入包。