Search code examples
javaeclipse-pluginosgieclipse-rcpequinox

Eclipse RCP: Target platform - Eclipse vs. Equinox?


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


Solution

  • 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