我正在尝试使用 Maven 构建独立的 OSGI 应用程序。有几个包含“bundles”的子模块和一个“distribution”模块,它生成一个包含我的包、框架的包和所需配置文件的目录(zip)。后者将所有子模块和 OSGI 实现声明为依赖项(Felix 和 Equinox 的不同配置文件)并使用程序集插件将它们放在一起。
我只能成功构建和运行 Felix 版本,但由于未解决的导入或不兼容的包版本,它不可靠并且在依赖版本的任何修改后中断。
所以这是我的问题:
- Maven 是否适合 OSGI 开发?
- 如何确定哪些版本的包对应于某些版本的 OSGI 规范并且相互兼容?
例如,如果我的包依赖于 osgi.core:5.0 运行时需要哪些 jars org.apache.felix.framework: 5.6.1 或 4.6.0 org.apache.felix.configadmin: 1.8.12 或 1.6.0
- Equinox 的正确工件名称是什么?
网上有 org.eclipse.equinox:cm:3.6... 和 org.eclipse.equinox:org.eclipse.equinox.cm:3.6..。
- Pax项目的状态如何?文档不多,很多链接都坏了。