找到使用的 equinox 容器版本?
Find the equinox container version which is used?
我对 Equinox 和 OSGI 版本有很多疑问。如果有人能帮助我理解这一点,那将非常有帮助。
1) OSGI版本和Eclipse Equinox版本是否不同? (我想是的)
2) 如果我运行正在使用某个使用 equinox 容器的项目,那么如何找到该项目使用的是哪个版本的 equinox 容器?
MO:我在 运行ning 项目的 eclipse 的 osgi 控制台中尝试了 'ss' 命令,它显示了不同类型的 jar org.eclipse.equinox.common.3.6v,org.eclipse.equinox.jetty .1.6v 等等 这是否意味着 eclipse equinox 的版本是 3.6 附加在普通 jar 后面?
要么
就像 Equinox 是 Eclipse 自带的,它的版本完全依赖于 Eclipse 版本。说 Equinox 4.5 是一个捆绑包,它带有 jar,如 commons、jetty、registry,它们有自己的版本?确认?
3) 什么是equinox容器?我们如何 运行 在 Equinox 容器中创建一个应用程序。
OSGi 是一个规范,Equinox 是这个规范的一个实现,就像 Felix 或 Knopflerfish。
Equinox 版本与规范版本不匹配。当前版本的 equinox if 3.10,它实现了 osgi r6 (afaik)。
您可以通过查看 ID 为“0”的包来了解您使用的是哪个版本的 OSGi 实现。它是导出 JRE 和 OSGi API 的系统包。在 Equinox 中,您可以使用命令 b 0
或 headers 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
您可以在 header Bundle-Version = 3.10.2.v20150203-1939
中查看版本
我对 Equinox 和 OSGI 版本有很多疑问。如果有人能帮助我理解这一点,那将非常有帮助。
1) OSGI版本和Eclipse Equinox版本是否不同? (我想是的) 2) 如果我运行正在使用某个使用 equinox 容器的项目,那么如何找到该项目使用的是哪个版本的 equinox 容器?
MO:我在 运行ning 项目的 eclipse 的 osgi 控制台中尝试了 'ss' 命令,它显示了不同类型的 jar org.eclipse.equinox.common.3.6v,org.eclipse.equinox.jetty .1.6v 等等 这是否意味着 eclipse equinox 的版本是 3.6 附加在普通 jar 后面? 要么 就像 Equinox 是 Eclipse 自带的,它的版本完全依赖于 Eclipse 版本。说 Equinox 4.5 是一个捆绑包,它带有 jar,如 commons、jetty、registry,它们有自己的版本?确认?
3) 什么是equinox容器?我们如何 运行 在 Equinox 容器中创建一个应用程序。
OSGi 是一个规范,Equinox 是这个规范的一个实现,就像 Felix 或 Knopflerfish。
Equinox 版本与规范版本不匹配。当前版本的 equinox if 3.10,它实现了 osgi r6 (afaik)。
您可以通过查看 ID 为“0”的包来了解您使用的是哪个版本的 OSGi 实现。它是导出 JRE 和 OSGi API 的系统包。在 Equinox 中,您可以使用命令 b 0
或 headers 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
您可以在 header Bundle-Version = 3.10.2.v20150203-1939