0

问题1:-

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

问题2:-

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

问题3:-

此链接提到 Equinox 框架需要 org.eclipse.osgi_<version>.jar实现 OSGI 核心。这是否意味着它不需要osgi.core-6.0.0来自OSGI 网站的核心 OSGI jar 。

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

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

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

问题4:-

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

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

4

1 回答 1

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 规范。要更新这些,您也必须更换这些罐子。在大多数情况下,您可以单独更新它们,因为它们通常可以很好地配合使用。

于 2014-12-30T08:07:17.303 回答