bndtools是OSGI捆绑包的未来捆绑工具吗



我看到一些社区osgi.enrouteequinox等正在鼓励使用osgi bundle的bndtools。然而,有很多我从未见过的特殊钥匙,在他们的官方网站上也找不到。例如

Require-Capability:
osgi.service;filter:="blahblahblah";effective:=active
Provide-Capability: osgi.service;objectClass=net....

有时也有类似的行为

META-Persistence:
Webcontext-path: 

好的,这个文档是从哪里来的?谁知道如果这样放它会自动抬头?这意味着我放了JDBC-Driver,然后它会查找

他们有任何bndtool备忘单或文档可以参考所有这些东西吗。

正如我所知,maven felix插件帮助我们很好地捆绑了私人导出和导入。我想迁移到bndtools做什么?

我看到apachekaraf(流行的OSGI运行时(仍在使用更清晰易懂的felix-maven插件。

这是OSGI至今仍不如其他JAVA框架流行的原因吗?我还能坚持使用maven Felix插件包而不是使用这些复杂的工具吗?

最新的途中示例使用maven构建。因此,它们与apachekaraf构建没有太大区别。对于使用maven创建捆绑包,您有两种选择。maven捆绑插件(来自felix(和bnd社区的bnd-maven插件。

两者都在引擎盖下使用bnd,所以它们只有很小的差异。bnd-maven插件默认使用bnd.bnd进行配置。maven捆绑插件也可以使用这种配置风格。我看到了许多项目使用bnd-maven插件的趋势,因为它是最新的bnd版本,但你可以同时使用两者。

真正的区别在于构建部署工件。在bndtools中,你可以用bndrun文件构建一个jar,而在karaf中,你通常会创建一个功能文件。这是你真正必须决定走哪条路的地方。如果您的应用程序使用一个自包含的jar,那么bndtools是一个不错的选择。如果您计划部署到karaf中,那么karaf功能是最佳选择。

Btw。在这两种情况下,用于eclipse的bndtools插件都提供了一些不错的支持。特别是查看jar的Manifest和编辑对bnd.bnd文件的支持。

关于bnd.bnd文件中所需的配置。如果您使用felix-maven捆绑插件,同样需要这些配置。

好消息是,如果你使用最新的规范/示例,那么你很少需要在maven中触摸bnd.bnd或插件配置。几乎每个需要的配置都有注释。OSGi规范本身有很好的文档,但最简单的方法是从示例开始。

相关内容

  • 没有找到相关文章

最新更新