OSGi包总是有一个'起始' maven构建后的状态

时间:2015-10-13 20:01:49

标签: java maven osgi

所以我尝试在我的项目中添加一个新的包。一切都在Eclipse Equinox中完美运行,但是Maven(Tycho)构建存在问题。我的捆绑包在OSGi控制台中可见,其状态为STARTING,但在需要其服务时无法启动。我可以从OSGi控制台手动启动捆绑包然后它可以工作。我甚至可以在那之后重启我的应用程序,它仍然有效。

当我进入bundles.info时,我可以看到这一行:

org.eclipse.orion.server.authentication.github,1.0.0.v20151013-0508,plugins/org.eclipse.orion.server.authentication.github_1.0.0.v20151013-0508.jar,4,false

如果我改变了“假”'真的'最后,它也有效。如何配置我的包以使其真实'默认情况下?

我的捆绑包背后的大故事(让我们称之为A)是:它实现了捆绑包B中定义的接口(因此A需要B)并在此接口下注册服务。此服务在B内部使用(B在运行时之前不知道A)。我听说删除这种循环依赖可能有所帮助,但我不想修改B以避免合并冲突。

1 个答案:

答案 0 :(得分:0)

也许这不是一个真正的问题。这是Equinox的典型行为。它将bundle显示为开始,直到另一个bundle实际上需要bundle提供的服务。所以通常你可以忽略从equinox开始的状态。

或者,您可以在felix上运行捆绑包,并将其报告为“活动”。