应该使用哪个 Maven 包插件

Which Maven bundle plugin should be used

使用哪个maven插件来生成OSGi包,bnd-maven-plugin与maven-bundle-plugin有何不同。

maven-bundle-plugin 已经存在了很长时间,这就是它使用最广泛的原因。

bnd-maven-plugin 是不久前(mod 2015 年)创建的,用于解决 maven-bundle-plugin 的一些问题。我建议您阅读 Neil Bartlett's post 以了解动机。

我知道的区别是:

  • maven-bundle-plugin 替换了 maven 的默认 jar 插件(这就是为什么你需要工件类型是 bundle 而不是 jar)而 bnd-maven-plugin才不是。在某些情况下,formar 会导致问题(使用其他一些 Maven 插件)。后者基本上意味着打包完成两次(首先是BND,然后是maven jar插件)

  • maven-bundle-plugin 可以直接在 pom 或通过 bnd 文件配置。 bnd-maven-plugin 只能通过 bnd 文件进行配置