OSGi R5企业版包含子系统规范。
此映射的目的是重复使用现有的eclipse
功能。基于felix
或bnd
/ bndtools
的基础架构。
答案 0 :(得分:4)
是的......有点儿。子系统功能强大,但也比Eclipse功能更复杂。
功能只是一组捆绑。您可以将多个功能安装到单个OSGi Framework中,并且每个功能的捆绑包可以相互交互,例如,通过导入包或绑定服务。这使得它们难以测试和推理,因为当与其他一些功能一起安装时,单独工作的功能可能不起作用。
子系统也是一组包,但它还包括一定程度的隔离。您可以控制来自一个子系统的包,服务和其他功能是否对任何其他子系统的成员可见。因此,它们更具可预测性。
不幸的是,构建一个子系统是一项复杂得多的任务,而且我所知道的并没有特定的工具。我们还没有在bnd / Bndtools中做任何事来帮助解决这个问题。但是,嘿,它是开源的...贡献欢迎;-)
答案 1 :(得分:0)
子系统和功能实际上是两个正交的东西。 Eclipse功能是一组可以安装到OSGi运行时的包。实际上,只要需要安装它们,具有大量Require-Bundle
元素和特征的包之间的差别就不大了。