osgi - 如何在 OSGI 声明式服务中将 Service-Component header 添加到捆绑 list 文件中?

标签 osgi apache-felix bnd

我正在使用 OSGI 声明式服务 (SCR) 创建组件包。我不热衷于使用 maven-scr-plugin 生成的基于注释的组件 xml 文件。我正在手动编写 component.xml。但是,我需要将 Service-Component header 添加到 MANIFEST 文件中。我正在使用 maven-bundle-plugin 来构建 osgi 包,我可以在插件配置中给出任何指令,将这样的 header 添加到 list 文件中?

一些有用的链接:

felix-SCR

maven-scr-plugin

BND-Service Component

谢谢

最佳答案

任何可以进入 list 文件的 header 都可以作为一个元素进入捆绑插件的配置中。例如,

<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>行启用任意自定义 header ,尽管我相信 Service-Component 包含在已知 header 集中,所以这里不需要。

关于osgi - 如何在 OSGI 声明式服务中将 Service-Component header 添加到捆绑 list 文件中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9598741/

相关文章:

java - ServiceBus JAVA SDK高级重新加载错误,ServiceLoader(不是子类型)

java - Apache CXF/JAX-RS、Felix 和 Jetty

java - 私有(private)包 list header 有什么作用?

osgi - 如何使用 bnd-maven-plugin 嵌入 maven 依赖项

java - 如何使用单独的类加载器并在同一个 JVM 中运行? (OSGI)

java - 基于 OSGi 的应用程序 (Karaf) 中同步方法的线程死锁

java - Apache Felix - 如何保证在激活方法之前注入(inject)动态引用

java - 执行某些代码后关闭 OSGi 容器(以创建命令行工具)

java - 在 Equinox osgi 中使用 commons.fileupload 时出现 ClassNotFoundException :org. apache.commons.io.output.DeferredFileOutputStream 错误

OSGi 功能卸载有效,但 bundle 仍然安装