Eclipse mit eigener OSGi Installation verwenden

In dem nachfolgenden Beitrag soll das Verwenden einer eigenen OSGi Installation in Eclipse zum ausführen und debuggen von OSGI Bundles erläutert werden.

Unsere OSGi Installation soll aus folgenden Teilen bestehen:

Nachdem wir alles heruntergeladen haben, entpacken wir zunächst Eclipse Equinox in ein Verzeichnis (z.b C:\Temp\OSGI Example)

Dann entpacken wir EclipseLink, Gemini JPA und Gemini DBAccess und kopieren die JAR’s in das Plugin bzw. Features Verzeichnis unserer Eclipse Equinox Installation (z.b C:\Temp\OSGI Example)

Jetzt ist alles bereit und wir könnten theoretisch die OSGI Installation manuell starten. Doch was müssen wir tun um sie in Eclipse zur Verfügung zu haben.

Eine Variante wäre es die Dateien von EclipseLink, Gemini JPA und Gemini DB Access in die Verzeichnisse der Eclipse Installation zu kopieren. Das ist aber schon darum schlecht, weil wir damit unsere Eclipse mit Plugins ausstatten die wir gar nicht brauchen. Außerdem wollen wir ja nicht immer nur aus Eclipse arbeiten.

Die bessere Variante ist eine eigene Target-Plattform zu erstellen. Dafür starten wir zunächst die Eclipse und wählen dann

Window -> Preferences -> Plug-in Development -> Target Platform

Dort existiert bereits eine „Running Platform“ welche per default von Eclipse angelegt und verwendet wird.  Mit Edit öffnet sich ein Dialog bei dem wir sehen, dass die Location ${eclipse_home} lautet und damit auf das Eclipse Verzeichnis zeigt. Wir erstellen uns jetzt eine eigene indem wir den Dialog zunächst wieder schließen und dann auf „Add“ den „New Target Definition“ Dialog starten.

Wir initialisieren die Target Definition mit „Current Target: Copy settings from the current target platform“ und machen dann weiter.
Im nächsten Fenster wählen wir oben einen beliebigen Namen und passen dann unter Location das Verzeichnis der OSGI Installation an, in unserem Beispiel wäre das C:\Temp\OSGI Example.

Das wars auch schon, mit Finish das hinzufügen der Target Definition abschließen und unsere neu erstellte unter Target Platform als Aktiv setzen. Jetzt wird Eclipse zur Ausführung automatisch die neue Target Definition verwenden.

Schreib einen Kommentar