【问题标题】:OSGI container identification Equinox / knopflerfish and relation ship between equinox osgi jar and core osgi jarOSGI 容器标识 Equinox / knopflerfish 以及 Equinox osgi jar 和 core osgi jar 之间的关系
【发布时间】:2015-02-26 03:14:35
【问题描述】:

问题1:-

我正在做一个大量使用 OSGI 的项目。我是 OSGI 的新手。在我的项目中,我看到了 Equinox 和 knopflerfish / 和/或 knopflerfish 包的 JARS。

问题2:-

如何在 Equinox 和 Knoplerfish 中确定 OSGI 在我的项目中使用哪个容器?我假设 OSGI 不能同时使用这两个容器。

问题3:-

This link 提到 Equinox 框架需要org.eclipse.osgi_<version>.jar 来实现 OSGI 核心。那么这是否意味着它不需要来自OSGI website 的核心OSGI jar,osgi.core-6.0.0

幕后的Equinox jar org.eclipse.osgi_<version>.jar 是否使用核心OSGI jar osgi.core-6.0.0

Equinox jar org.eclipse.osgi_<version>.jar 是核心 OSGI jar osgi.core-6.0.0 的包装器吗?

Equinox jar org.eclipse.osgi_<version>.jar 和核心 OSGI jar osgi.core-6.0.0 之间是否有任何关系、依赖关系或者这两个 jar 是否相互独立?

问题4:-

假设我正在使用 Equinox 容器。我需要将我的项目更新到最新的 OSGI 版本。要将项目更新到最新的 OSGI jar,我用最新的 jar 替换哪个 JAR。

我是将core OSGI jar 替换为[OSGI 网站] 的最新osgi.core-6.0.0(OSGI 的最新版本)还是将Equinox jar org.eclipse.osgi_<version>.jar 更新为最新版本?

【问题讨论】:

    标签: java osgi equinox osgi-bundle knopflerfish


    【解决方案1】:

    osgi.core-6.0.0 是一个提供规范接口和类的包,由OSGi 联盟发布。 org.eclipse.osgi_.jar 是 OSGi 框架的 Equinox 实现。

    在 OSGi 中,提供 API 实现的包也嵌入相同的 API 是很常见的。对于 Equinox 框架,情况就是如此。在jar中你也可以找到core的所有API接口。

    这样做主要是为了方便,因此人们可以只启动 jar,而不必同时找到正确的 API jar 并部署它。

    对于框架的升级,您只需替换 Equinox jar。通常,Equinox jar 并不是唯一一个实现 OSGi 规范的。您可能还会有一个配置管理服务的实现,也可能还有核心之外的其他 OSGi 规范。要更新这些,您也必须更换这些罐子。在大多数情况下,您可以单独更新它们,因为它们通常可以很好地配合使用。

    【讨论】:

      猜你喜欢
      • 2010-11-06
      • 1970-01-01
      • 2015-09-15
      • 1970-01-01
      • 2014-12-15
      • 2013-08-02
      • 1970-01-01
      • 2016-07-16
      • 2010-11-30
      相关资源
      最近更新 更多