我正在使用 OSGI 声明式服务 (SCR) 创建组件包。我不热衷于使用 maven-scr-plugin 生成的基于注释的组件 xml 文件。我正在手动编写 component.xml。但是,我需要将 Service-Component 标头添加到 MANIFEST 文件中。我正在使用 maven-bundle-plugin 来构建 osgi 包,我可以在插件配置中给出任何指令来将这样的标头添加到清单文件中吗?
一些有用的链接:
谢谢
我正在使用 OSGI 声明式服务 (SCR) 创建组件包。我不热衷于使用 maven-scr-plugin 生成的基于注释的组件 xml 文件。我正在手动编写 component.xml。但是,我需要将 Service-Component 标头添加到 MANIFEST 文件中。我正在使用 maven-bundle-plugin 来构建 osgi 包,我可以在插件配置中给出任何指令来将这样的标头添加到清单文件中吗?
一些有用的链接:
谢谢
任何可以进入清单文件的标头都可以作为一个元素进入捆绑插件的配置中。例如,
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<version>2.2.0</version>
<extensions>true</extensions>
<configuration>
<instructions>
<Bundle-SymbolicName>
${pom.artifactId}
</Bundle-SymbolicName>
<Service-Component>
OSGI-INF/some-file.xml
</Service-Component>
....
该<extensions>true</extensions>
行启用任意自定义标头,尽管我相信 Service-Component 包含在一组已知标头中,因此这里不需要它。