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