【问题标题】:Find the equinox container version which is used?找到使用的 Equinox 容器版本?
【发布时间】:2016-07-25 07:26:32
【问题描述】:

我对 Equinox 和 OSGI 版本有很多疑问。如果有人能帮助我理解这一点,那将非常有帮助。

1) OSGI 版本和 Eclipse Equinox 版本不同吗? (我想是的) 2) 如果我正在运行一些使用 Equinox 容器的项目,那么如何找到该项目使用的是哪个版本的 Equinox 容器?

MO:我在运行项目的 Eclipse 中的 osgi 控制台中尝试了“ss”命令,它显示了不同类型的 jar org.eclipse.equinox.common.3.6v、org.eclipse.equinox.jetty.1.6v 等.这是否意味着eclipse equinox的版本是3.6,它附加在common jar后面? 要么 是这样的吗,Equinox 带有 Eclipse,它的版本完全依赖于 Eclipse 版本。说 Equinox 4.5 是一个捆绑包,它带有像 commons、jetty、registry 这样的 jars,它们有自己的版本?确认?

3) 什么是春分容器?我们如何在 Equinox 容器中运行应用程序。

【问题讨论】:

标签: maven eclipse-plugin osgi osgi-bundle equinox


【解决方案1】:

OSGi 是一个规范,Equinox 是这个规范的一个实现,就像 Felix 或 Knopflerfish。

Equinox 的版本与规范的版本不匹配。 equinox if 3.10 的当前版本,它实现了 osgi r6 (afaik)。

您可以通过查看 ID 为“0”的捆绑包来了解您正在使用哪个版本的 OSGi 实现。它是导出 JRE 和 OSGi API 的系统包。在 Equinox 中,您可以使用命令 b 0headers 0

在 Karaf 中,命令 headers 0 输出如下内容:

OSGi System Bundle (0)
----------------------
Archiver-Version = Plexus Archiver
Build-Jdk = 1.7.0_51
Built-By = e4Build
Created-By = Apache Maven 3.1.1
Eclipse-BundleShape = jar
Eclipse-ExtensibleAPI = true
Eclipse-SourceReferences = scm:git:git://git.eclipse.org/gitroot/equinox/rt.equinox.framework.git;path="bundles/org.eclipse.osgi";tag="M20150204-0900";commitId=ddc1d34dfb9d45074257a5f147900781ff7ab8da
Eclipse-SystemBundle = true
Main-Class = org.eclipse.core.runtime.adaptor.EclipseStarter
Manifest-Version = 1.0

Bundle-Activator = org.eclipse.osgi.internal.framework.SystemBundleActivator
Bundle-Copyright = Copyright (c) 2003, 2014 IBM Corporation and others. All rights reserved. This program and the accompanying materials  are made available under the terms of the Eclipse Public License v1.0 which accompanies this distribution, and i
s available at http://www.eclipse.org/legal/epl-v10.html
Bundle-Description = OSGi System Bundle
Bundle-DocUrl = http://www.eclipse.org
Bundle-Localization = systembundle
Bundle-ManifestVersion = 2
Bundle-Name = OSGi System Bundle
Bundle-SymbolicName = org.eclipse.osgi; singleton:=true
Bundle-Vendor = Eclipse.org - Equinox
Bundle-Version = 3.10.2.v20150203-1939

可以在标题Bundle-Version = 3.10.2.v20150203-1939看到版本

【讨论】:

  • Equinox 中的 ss 命令还应将捆绑包 0 列为 org.eclipse.osgi 及其后的版本。
  • 你上面说的Bundle-Version,是Equinox版本还是OSGI版本?
  • 这是Equinox的版本
猜你喜欢
  • 2013-08-02
  • 2016-08-02
  • 2012-09-10
  • 2012-07-05
  • 1970-01-01
  • 1970-01-01
  • 2013-11-03
  • 1970-01-01
  • 2018-05-17
相关资源
最近更新 更多