2016-12-23 166 views
0

我正在尝试使用Maven构建独立的OSGI应用程序。有几个包含“捆绑”和一个“分布”模块的子模块,可以用我的捆绑包,框架捆绑包和必需的配置文件生成一个目录(zip)。后者将所有子模块和OSGI实现声明为依赖项(Felix和Equinox的不同配置文件),并使用Assembly插件将它们放在一起。使用Maven构建OSGI应用程序

我是能够建立并成功运行仅菲利克斯版本,但它是不可靠的,由于尚未解决的进口或包的不兼容版本的依赖版本进行任何修改后休息。

因此,这里有我的问题

  1. 是Maven的适合OSGI的发展呢?
  2. 如何确定哪些版本的软件包对应于某个版本的OSGI规范并且相互兼容?

例如,如果我的包取决于osgi.core:5.0罐子什么需要 在运行时org.apache.felix.framework:5.6.1或4.6.0 org.apache.felix。 configadmin:1.8.12或1.6.0

  • 什么是春分正确工件名字?
  • 有org.eclipse.equinox:厘米:3.6 ...和 org.eclipse.equinox:org.eclipse.equinox.cm:3.6 ..在互联网上。

    1. 什么是Pax项目的状态?没有太多的文档和大量的链接被打破。

    回答

    2

    Maven非常适合在maven-bundle-plugin或bnd-maven-plugin的帮助下构建包。

    对于程序集,我建议使用apache karaf特性和包作为karaf custom distro或使用OBR索引和package using bndtools

    的原因是OSGi的需要寻找到清单的性能才能够创造一个良好的部署。纯粹的Maven依赖不适用于此。

    +0

    非常感谢,Christian。我会尽力挖掘这个方向:) – Anton