bnd - 使结果 MANIFEST.MF 每个 Bundle-ClassPath 和 RequireBundle 条目有一行

bnd - Make resulted MANIFEST.MF to have one line per Bundle-ClassPath and RequireBundle entries

使用 OSGi 工具 bnd

如果bnd.bnd文件有

-buildpath: mod.base,\
    mod.common,\
    ...

这些线将作为单行线,尽管包装在 72 药水处。 这使得输出更难阅读。

Require-Bundle: mod.base,mod.common,...

如何告诉 bdn 使结果 MANIFEST.MF 每个 Bundle-ClassPath 和 RequireBundle 条目有一行

正如我在 bnd 的源代码中看到的那样,它创建了一个 java.util.jar.Manifest object。输出格式基于 Java.

提供的 Manifest class 的代码

当我想阅读 OSGi 时,我会使用在线工具 headers:https://robinst.github.io/jar-manifest-formatter/

虽然这不格式化Require-Bundle、Provide-Capability和Require-Capabilityheaders,但我想你改[=]应该不会超过10分钟27=] 文件来格式化那些。如果你这样做,我建议你应该为 robinst 发送 PR ;)。

更新:已经可以了,感谢罗宾

MANIFEST.MF 格式由 Jar 文件规范定义,并不是特别适合人类阅读。

您可以使用 bnd 命令格式化任何捆绑包的清单。从命令行:

bnd print <filename.jar>

这将以漂亮的布局打印导入和导出以及使用约束。

顺便说一下...不要使用 Require-Bundle