问题1: -
我正在开发一个大量使用OSGI的项目。我是OSGI的新手。在我的项目中,我看到了JARS的equinox和knopflerfish /和knopflerfish捆绑。
问题2: -
如何在Equinox和Knoplerfish中确定OSGI在我的项目中使用哪个容器?我假设OSGI一次不能同时使用这两个容器。
问题3: -
This link提到Equinox框架需要org.eclipse.osgi_<version>.jar
来实现OSGI核心。这是否意味着它不需要来自OSGI website的核心OSGI jar,osgi.core-6.0.0
。
场景后面的昼夜平分点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
之间存在依赖关系,或者两个罐子是否相互独立?
问题4: -
假设我正在使用Equinox容器。我需要将我的项目更新为最新的OSGI版本。要将项目更新到最新的OSGI jar,我用哪个JAR替换最新的jar。
我是否从[OSGI网站]将core OSGI jar
替换为最新的osgi.core-6.0.0
(OSGI的最新版本),还是将equinox jar org.eclipse.osgi_<version>.jar
更新为最新版本?
答案 0 :(得分:1)
osgi.core-6.0.0是一个提供规范接口和类的包,由OSGi联盟发布。 org.eclipse.osgi_.jar是OSGi框架的equinox实现。
在OSGi中,提供API实现的bundle也嵌入相同的API是很常见的。对于equinox框架,情况就是如此。在jar中你也可以找到核心的所有API接口。
这主要是为了方便起见所以人们可以启动jar而不必找到正确的API jar并进行部署。
对于框架的升级,您只需更换equinox jar。通常情况下,equinox jar并不是唯一一个实现OSGi规范的人。您可能还会有配置管理服务的实现,也可能是核心之外的其他OSGi规范。要更新这些,你也必须更换这些罐子。在大多数情况下,您可以单独更新这些内容,因为它们通常可以很好地一起播放。