3

OSGi R5 Enterprise 版本包含子系统规范。

  • OSGi 子系统是否包含 Eclipse 特性的所有功能?
  • 工具是否存在?

这种映射的目的是重用eclipse例如felixbnd/bndtools基于基础设施中的现有特征。

4

2 回答 2

4

是的……有点。子系统功能强大但也比 Eclipse 功能更复杂。

功能只是一组捆绑包。您可以将多个功能安装到单个 OSGi 框架中,每个功能的包可以相互交互,例如通过导入包或绑定服务。这使得它们难以测试和推理,因为单独工作的功能在与其他一些功能一起安装时可能无法工作。

子系统也是一组捆绑包,但它还包括一定程度的隔离。您可以控制来自一个子系统的包、服务和其他功能是否对任何其他子系统的成员可见。因此,它们更具可预测性。

不幸的是,构建子系统是一项复杂得多的任务,据我所知,没有专门的工具可以解决这个问题。我们没有在 bnd/Bndtools 中做任何事情来帮助解决这个问题。但是,嘿,它是开源的......欢迎贡献;-)

于 2015-07-03T19:30:55.433 回答
0

子系统和功能实际上是两个正交的东西。Eclipse 功能是一组可以安装到 OSGi 运行时的捆绑软件。Require-Bundle实际上,就要求安装它们而言,具有大量元素的捆绑包和功能之间几乎没有区别。

另一方面,OSGi 子系统是一种允许嵌套 OSGi 运行时的提议方式。然而,在 OSGi 规范的最终版本中,它们被更通用的布线结构所取代。但无论如何,他们做的是完全不同的事情。

于 2015-07-03T11:54:33.377 回答