我创建了一个片段包,用于访问第二方 jar 的一些添加功能。我的片段应该注册一个服务来公开这个新功能。它似乎不起作用。在深入进行故障排除之前,我想知道这是否允许?也就是说,Felix SCR 的 bundle watcher 是查看还是忽略 Fragment?
问问题
1773 次
2 回答
9
啊哈,我自己在规范第 112.4.2 节中找到了答案:“SCR 忽略了片段中指定的服务组件清单标头。” 这与 3.14.3 一致:“以下列表包含不能在片段包中使用的标头:Bundle-Activator”
于 2012-07-13T20:32:58.280 回答
6
是的。但是主机包必须对此开放。通过打开,我的意思是主机包必须Service-Components
配置标头,以便可以找到片段中的任何描述符。例如:
Service-Components: OSGI-INF/*.xml
将在主机包的文件夹中找到所有.xml
文件OSGi-INF/
所有附加的片段。
我看到 Eclipse SmartHome 项目使用这个解决方案来使他们的 UI 更加可定制。
更多信息:http ://apache-felix.18485.x6.nabble.com/DS-amp-fragments-td5004610.html
于 2017-02-06T07:27:50.320 回答