I've lots of doubts in equinox and OSGI versions. It would be very helpful if anyone could help me to understand this.
1) Is OSGI version and Eclipse Equinox Versions are different? (I think Yes) 2) If I'm running some project which uses the equinox container, then how to find which version of equinox container that project is using?
MO: I tried 'ss' command in osgi console in eclipse in the running project, it shows different types of jars org.eclipse.equinox.common.3.6v, org.eclipse.equinox.jetty.1.6v etc etc. Does that mean that the version of eclipse equinox is 3.6 which is appended behind common jar? OR Is that like, Equinox comes with eclipse and it's version is totally dependent on Eclipse Version. Say Equinox 4.5 is a bundle which comes with jars like commons, jetty, registry which has their own version? Confirm?
3) What is equinox container? How can we run an application in equinox container.
OSGi is a specification, and Equinox is an implementation of this specification, like Felix or Knopflerfish.
The version of Equinox doesn't match the version of the specification. The current version of equinox if 3.10, which implements osgi r6 (afaik).
You can see which version of OSGi implementation you are using by looking at the bundle with the id "0". It's the system bundle which export the JRE and the OSGi API. In Equinox, you can use the command b 0
or headers 0
:
In Karaf, the command headers 0
output something like this :
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
You can see the version in the header Bundle-Version = 3.10.2.v20150203-1939