我创建了一个片段包,用于访问第二方jar的一些添加功能。我的片段应该注册一个服务来公开这个新功能。它似乎不起作用。在深入了解故障排除之前,我想知道是否允许这样做?也就是说,Felix SCR的捆绑监视器会查看还是忽略片段?
答案 0 :(得分:8)
啊哈,我在规范第112.4.2节中找到了答案:“片段中指定的服务组件清单标头被SCR忽略。”这与3.14.3一致:“以下列表包含不得在片段包中使用的标头:Bundle-Activator”
答案 1 :(得分:4)
是。但主机包必须对此开放。通过打开,我的意思是主机包必须配置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