【发布时间】:2014-01-14 03:26:52
【问题描述】:
我试图用 ant bndwrap 任务包装的现有 jar 包含来自另一个 jar 的类。我的意思是展开的罐子,而不是嵌入的罐子。
如何在捆绑包的导出包声明中省略这些包?
jar 基本上都有包
org.stuff
和
org.otherstuff
我只想导出 org.stuff 包,但 bndwrap 会同时包含两者。
【问题讨论】:
我试图用 ant bndwrap 任务包装的现有 jar 包含来自另一个 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 的内容。”
【讨论】: