【发布时间】:2016-06-01 07:54:12
【问题描述】:
我正在与 OSGi 取得联系并尝试使用 Apache Felix 和 Maven 设置项目。我想使用多模块构建和声明性服务。该项目托管在 GitHub 上:osgi-maven-example(请注意,链接指向特定的提交,而不是存储库的 HEAD。)
我有几个关于项目整体设置的问题:
根据Neil Bartlett,
bnd-maven-plugin最好在 Apache Felix Bnd 插件上使用,因为它尊重 Maven 的生命周期。从 bnd-maven-plugin 的年龄来看,这似乎是一种相对较新的方法,因此我不确定这样做是否是个好主意。我正在使用来自 Apache Felix 的声明性服务包 (
org.apache.felix.scr.annotations) 来定义我的组件。maven-scr-plugin使用这些注释来生成服务描述符,这些描述符通过使用bnd.bnd文件中的以下行来包含在MANIFEST.MF中:Service-Component: OSGI-INF/*.xml。这是声明式服务的使用方式吗?IntelliJ 在
GermanGreeter-class 中显示警告:
这到底是什么意思?我需要关心这个吗?我该如何解决?
虽然我对这个工作示例感到非常满意,但我很好奇我是否按照预期的方式使用所有这些技术在一个更大的项目中。
【问题讨论】:
标签: java maven osgi apache-felix bnd