【问题标题】:How to embed a maven dependency with bnd-maven-plugin如何使用 bnd-maven-plugin 嵌入 maven 依赖项
【发布时间】: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 维护者。

标签: osgi blueprint-osgi bnd bndtools maven-bundle-plugin


【解决方案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 标头中。
猜你喜欢
  • 1970-01-01
  • 2017-03-16
  • 2012-10-12
  • 1970-01-01
  • 2020-05-11
  • 2019-12-27
  • 1970-01-01
  • 2016-09-21
  • 2012-04-20
相关资源
最近更新 更多