views:

69

answers:

1

Hi,
I'm just starting with OSGi and Eclipse RCP. Could someone explain to me the difference between "Eclipse" and "Equinox" as the target platform, when creating a new eclipse plugin project?
I still know that Equinox is Eclipse's implementation of OSGi.
I read in some articles that eclipse rcp is also based on Equinox. So where is the difference between the target platform you have to choose in a new Eclipse Plugin Project?

Best regards

+1  A: 

It is about the environement in which the module you will be creating will run: see this

Eclipse Equinox is the runtime environment on which the Eclipse IDE and Eclipse RCP application are based.
In Eclipse the smallest unit of modularization is a plugin. The terms plugin and bundle are (almost) interchangable. An Eclipse plugin is also an OSGi bundle and vice versa.

alt text

  • bundle for OSGi, able to run in the Equinox framework (within or outside of Eclipse)
  • plugin for Eclipse, to run within an Eclipse-based application.

See Equinox Quick Start Guide:

The Equinox OSGi framework implementation forms the underpinnings of the Eclipse RCP and IDE platforms but it is in fact a fully standalone OSGi implementation.

You can run a bundle independently from Eclipse:

java -jar org.eclipse.osgi_3.2.0.jar -console

Once this is running you will see an osgi> prompt. This is the OSGi console waiting for you to type commands

VonC
are both bundle types compatible?
coding.mof
@coding.mof: I just completed my answer to being to address this question, but an Eclipse plugin won't necessary run in a stand-alone OSGi environment because some eclipse-specific services (on which it will depend on) will be missing.
VonC
@VonC: Thanx a lot!
coding.mof