Ein OSGi-Bundle ist eine Java™-Archivdatei, die Java-Code, Java-Ressourcen und ein Manifest enthält, das das Bundle und die Bundleabhängigkeiten beschreibt. Ein OSGi-Bundle enthält die Geschäftslogik und die Metadaten, die Sie für die Ausführung eines Service benötigen. Ein Bundle ist ein Modul in einer Anwendung,
die auf einem Server implementiert ist.
Vorgehensweise
- Klicken Sie auf und anschließend auf Weiter. Der Assistent Neues OSGi-Bundleprojekt wird geöffnet.
- Geben Sie im Feld Projektname den Namen Ihres Bundleprojekts ein.
- Wählen Sie aus der Dropdown-Liste eine Ziellaufzeit aus. Legen Sie die Ziellaufzeit fest, um eine installierte Laufzeitumgebung zu definieren. Laufzeiten werden zur Buildzeit zum Kompilieren von Projekten verwendet.
- In der Liste "Konfiguration" können Sie eine oder mehrere der folgenden Konfigurationen auswählen:
- Web-Unterstützung hinzufügen - Fügt Ihrem Bundleprojekt Unterstützung für dynamische Webseiteninhalte hinzu.
- Persistence-Unterstützung hinzufügen - Fügt Ihrem Bundleprojekt JPA-Unterstützung hinzu.
- Angepasst - Fügt Unterstützung für die Bereitstellung Ihres Projekts als OSGi-Bundleprojekt hinzu, sodass Sie Ihrem Projekt zusätzliche Facetten hinzufügen können. Klicken Sie auf Erweitert, um Ihrem Projekt Facetten hinzuzufügen.
Wichtig: Sie können die folgenden Java EE-Anwendungen als OSGi-Anwendungen entwickeln:
- Webanwendungen
- JPA-Anwendungen (Java Persistence API)
- JAX-RS (REST-Web-Services)
- JavaServer Faces-Anwendungen
- XML-Anwendungen
- EJBs
- Blueprint-Datei generieren - Erstellt eine Blueprint-Datei und fügt sie Ihrem Bundleprojekt hinzu.
- Wählen Sie im Bereich "Anwendungszugehörigkeit" den Eintrag Bundle zur Anwendung hinzufügen aus und wählen Sie anschließend ein Anwendungsprojekt aus der Dropdown-Liste aus oder erstellen Sie ein neues Anwendungsprojekt.
- Folgen Sie den Eingabeaufforderungen des Assistenten.
Einschränkung: Wenn Ihre Bundlemanifestdatei die Eigenschaft Import-Package verwendet, um eine Bundleabhängigkeit für ein Bundle zu deklarieren, das sich nicht in Ihrem Arbeitsbereich oder auf Ihrer Zielplattform befindet, markiert der Editor die Abhängigkeit als Fehler. Um diese Einschränkung zu umgehen, vergewissern Sie sich, dass sich alle von Ihnen deklarierten Abhängigkeitsbundles in Ihrem Arbeitsbereich befinden, oder verwenden Sie die Schnellkorrektur, um das Paket der Zielplattform hinzuzufügen. Wenn Sie die Schnellkorrektur verwenden möchten, wechseln Sie zur Ansicht "Markierung" und klicken Sie dann mit der rechten Maustaste auf die Fehlermarkierung und wählen Schnellkorrektur aus.
Ergebnisse
Ihr OSGi-Bundle-Projekt wird erstellt und Ihr Bundlemanifest wird Ihrem Projekt hinzugefügt.
Wichtig: Wenn Sie Bundleabhängigkeiten in Ihrer Datei
MANIFEST.MF angeben, verwenden Sie die Eigenschaft
Import-Package anstelle von
Require-bundle. Wenn Sie
Require-bundle verwenden, um Bundleabhängigkeiten anzugeben, kann Ihre Anwendung nicht implementiert werden.
Die Verwendung der Eigenschaft
Import-Package ist bei der Deklaration von Abhängigkeiten die flexiblere Lösung:
- Sie können die Abhängigkeiten für die von Ihnen benötigte Funktionalität deklarieren statt das Bundle zu verwenden, auf dem die Funktionalität basiert, da auf diese Weise keine unnötigen Abhängigkeiten für Pakete hinzugefügt werden, die für Ihr Bundle nicht erforderlich sind, jedoch im Abhängigkeitsbundle enthalten sind.
- Sie können Versionen oder Versionsbereiche für das deklarierte Bundle angeben und müssen daher nicht auf Änderungen in den verschiedenen Bundleversionen reagieren.
Nächste Schritte
Sie haben jetzt ein Bundleprojekt erstellt, Sie können Ihre Geschäftslogik erstellen, das OSGi-Bundle als JAR-Datei exportieren, das Bundle als OSGi-Anwendung hinzufügen oder das Bundle einem Verbundbundle hinzufügen.