如何使用bndwrap从导出中排除某些包

时间:2014-01-14 03:26:53

标签: ant osgi bnd

我试图用ant bndwrap 任务包装的现有jar包含其中包含的另一个jar的类。我的意思是展开的jar,而不是嵌入式jar。

如何从捆绑包的导出包声明中省略这些包?

基本上jar都有包

org.stuff

org.otherstuff

我想只导出org.stuff包,但bndwrap将包含两者。

1 个答案:

答案 0 :(得分:0)

如果您在bnd文件中使用Export-Package,您也可以使用“!”定义排除。

来自http://www.aqute.biz/Bnd/Bnd的示例:

Export-Package: !com.acme.impl, com.acme.*;version=1.2

另外,如果你使用包装,-exportcontents对你来说很有意思:http://www.aqute.biz/Bnd/Wrapping

“二进制文件和源代码不在最终的jar中,但是bnd还不知道需要导出什么。这可以用-exportcontents指令来表示。它与Export-Package具有相同的语法,但不会从在类路径中,它只将指令应用于最终JAR的内容。“