Java 强制maven bundle plugin/BND导入OSGi包
我尝试使用maven bundle插件(使用BND)打包OSGI捆绑包 为了正常运行,bundle必须导入一个在开发期间不在类路径中的包(因为对象引用将作为“类”引用传递给bundle方法) 我无法在pom.xml或*.bnd文件中配置“Import Package”声明,以便将packe包含在清单的OSGI导入包部分中。我想Java 强制maven bundle plugin/BND导入OSGi包,java,osgi,Java,Osgi,我尝试使用maven bundle插件(使用BND)打包OSGI捆绑包 为了正常运行,bundle必须导入一个在开发期间不在类路径中的包(因为对象引用将作为“类”引用传递给bundle方法) 我无法在pom.xml或*.bnd文件中配置“Import Package”声明,以便将packe包含在清单的OSGI导入包部分中。我想 Import-Package: de.foo.bar,* 应该执行此任务,但由于de.foo.bar不在类路径中(或者最好不要在代码中声明为导入),因此它不会被带到清单
Import-Package: de.foo.bar,*
应该执行此任务,但由于de.foo.bar不在类路径中(或者最好不要在代码中声明为导入),因此它不会被带到清单中
有人知道如何在OSGi导入包清单声明中强制该包可用吗
谢谢和问候
克劳斯我终于找到了解决办法
Import-Package: de.foo.bar;resolution:=optional,*
将在bundle MANIFEST.MF的“Import Package”声明中添加“de.foo.bar”,即使包不是由包代码导入的。您在哪里指定的?当我将它添加到POM时,它不起作用。@skaffman我在maven bundle插件(版本2.1.0)配置的
部分添加了它。我用逗号(,
)将不同的包分开,用分号(;
)将解析
参数与它所属的包分开。