0

我有一个使用特性的 Eclipse 产品构建。所有服务都是通过声明式服务注册的。据我了解,必须启动捆绑包,服务组件运行时才能获取并注册每个捆绑包中公开的服务。

我想自动启动安装在我的 OSGi 运行时中的每个包。有没有一种简单的方法可以做到这一点?我唯一能找到的是 Product > Configuration > Start Levels > Auto-Start 选项。我不想在我拥有的每个产品构建中都这样做,因为我想转移到功能来分组和一起启动类似的捆绑包。

有没有简单/推荐的方法来做到这一点?

4

2 回答 2

1

我认为堆栈溢出问题/答案[1],全面讨论您的要求。或者,如果您使用的是支持 p2 的产品,您可以在 bundles.info 文件中将默认启动参数设置为“true”。但这是一种骇人听闻的方式。

[1]在 Equinox 中是否可以将 OSGi 包标记为从其包含功能的 p2.inf 开始?

于 2011-12-22T03:24:15.303 回答
-1

Bundle-ActivationPolicy: lazy从您的组件中删除MANIFEST.MF并确保该属性不在您的组件定义中!enabled="false"

于 2011-12-23T10:45:24.583 回答