代码之家  ›  专栏  ›  技术社区  ›  FrVaBe

强制由maven bundle plugin/bnd导入osgi包

  •  4
  • FrVaBe  · 技术社区  · 16 年前

    我尝试使用maven bundle插件(使用bnd)打包OSGi包。

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

    我不设法在pom.xml或*.bnd文件中配置“import package”声明,以便包将包含在清单的osgi import package部分中。我虽然

    Import-Package: de.foo.bar,*
    

    应该执行该作业,但由于de.foo.bar不在类路径中(或者最好不要在代码中声明为导入),因此它不会被带到清单中。

    有人知道如何强制包在OSGi导入包清单声明中可用吗?

    谢谢和问候 克劳斯

    1 回复  |  直到 16 年前
        1
  •  3
  •   FrVaBe    16 年前

    我终于找到了解决办法

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

    将“de.foo.bar”放入bundle manifest.mf的“import package”声明中,即使bundle代码没有导入该包。