【发布时间】:2016-05-31 01:48:27
【问题描述】:
我有一个想要包装的第三方 JAR - 它没有自己的 OSGi 清单。例如,org.myproject。 So I create a bundle wrapper.
这很好用——我提供了org.myproject 的发布版本。这是由org.myproject 的作者规定的。说,1.0.1。
现在,org.myproject 已更改,我想包含更改。但是,没有官方发布。听起来我可以使用限定符来表示较新的版本:1.0.1.$timestamp
但是,当使用 bndtools 包装 JAR 时,包导出的版本仍为 1.0.1。
是否可以在 OSGi 中导出然后导入特定于限定符的包版本?在 bndtools 中管理此问题的最佳方法是什么?
【问题讨论】:
-
如果 org.myproject 发生了变化,为什么这不仅仅是你打包的包的版本提升?毕竟包装的内容变了。
-
好吧,如果我称它为
1.0.2,然后org.myproject的作者会在我已经包含的内容之外进行一些更改并调用that @987654331 @,我们有点吃醋了,不是吗?如果我想包装他们的新版本,我会称之为什么版本? -
也许我认为捆绑版本应该镜像包装的 JAR 版本的想法不正确?
-
所以你最初包装了 org.myproject 的 1.0.1 并调用了你的包 1.0.1。然后 org.myproject 更改但没有将版本增加到至少 1.0.2?然后,您在尝试将语义版本包装在没有语义版本的项目周围时会遇到一些麻烦。 :-(
-
是的! ;-) 回到正题——在这种情况下可以使用限定符吗?如果可以,我怎样才能让
bnd或bndtools生成带有它们的导出语句?
标签: java osgi version bnd bndtools