如何使用 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 依赖项的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 IFrame API 嵌入“YouTube Gaming”视频?