maven-bundle-plugin的Embed-Dependency如何在这些情况下工作?

时间:2017-01-30 20:03:04

标签: maven osgi bundle

我想了解以下内容如何运作:

如果我有许多我想要传递的第三方包,我会在我的包中使用Embed-Dependency和*并指定为传递真。

这些依赖包中指定的bundle-activators会发生什么?这些依赖的束激活器将如何触发?我没有看到它被触发......

如果预计他们不会被触发,那么我们将如何从这些捆绑激活器获得功能?

2 个答案:

答案 0 :(得分:2)

如果捆绑激活器在捆绑包的MANIFEST.MF的Bundle-Activator标头中命名,则它将仅由OSGi调用。实现类必须可以由bundle加载,因此它可以出现在Bundle-ClassPath中的任何JAR中。

如果您只是嵌入一个JAR并期望其激活器被调用,那么您会感到失望。

然而,这些JAR有活化剂的事实表明它们已经是OSGi包,所以为什么你想要嵌入它们呢?

答案 1 :(得分:0)

不是我想要嵌入它们......但如果我这样做 - 那么捆绑的激活器将不会被调用。那么可以公平地说,只有在没有激活器的罐子和捆绑的情况下才应该使用嵌入依赖吗?

我可以尝试嵌入捆绑包的一个原因是运行一个快速的poc系统,指定了所有的依赖项,而不依赖于提供它的环境。