如何使用 bnd-maven-plugin 嵌入 maven 依赖项

Posted

技术标签:

【中文标题】如何使用 bnd-maven-plugin 嵌入 maven 依赖项【英文标题】:How to embed a maven dependency with bnd-maven-plugin 【发布时间】:2020-03-02 05:30:24 【问题描述】:

我正在从使用 Embed-Dependency 提供“方便”配置的 maven-bundle-plugin 迁移,但在使用 bnd-maven-plugin 时,我似乎需要以 bnd 格式“手动”指定我的嵌入依赖项。我从旧包中添加了相同的包头,但它似乎不包括实际依赖项的 jar 文件。有人有快速/简洁的方法吗?

【问题讨论】:

如果 maven-bundle-plugin 已经支持您的用例,您为什么要切换到 bnd-maven-plugin? 好吧,maven-bundle-plugin 已经过时了 bndlib。 bnd-maven-plugin 来自 Bnd 维护者。 【参考方案1】:

bnd 有一条指令-includeresource 在这里定义https://bnd.bndtools.org/instructions/includeresource.html:

这是一个例子:

-includeresource: lib/somelib.jar=somelib-[\w.]*.jar;lib:=true

这应该可以查看用于构建工件的类路径中的所有依赖项,并匹配相关文件的文件名。

[更新 BJ 的评论] lib:=true 会以安全合并的方式自动将 jar 添加到包的 Bundle-ClassPath 标头中(即,确保它与现有内容或不存在的值配合得很好)。

【讨论】:

lib:=true 会自动将 jar 添加到包的 Bundle-ClassPath 标头中。

以上是关于如何使用 bnd-maven-plugin 嵌入 maven 依赖项的主要内容,如果未能解决你的问题,请参考以下文章

如何使用eclipse进行嵌入式Linux的开发

如何使用 IFrame API 嵌入“YouTube Gaming”视频?

如何使用 Phonegap 在 Android 上嵌入 YouTube 视频

微信h5嵌入聊天室如何搭建

为 AS3 嵌入字体。如何?

如何使用TCL脚本在嵌入式系统上测试C语言功能?