我试图用ant bndwrap 任务包装的现有jar包含其中包含的另一个jar的类。我的意思是展开的jar,而不是嵌入式jar。
如何从捆绑包的导出包声明中省略这些包?
基本上jar都有包
org.stuff
和
org.otherstuff
我想只导出org.stuff包,但bndwrap将包含两者。
答案 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的内容。“