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