Konvertieren einer JAR-Datei in ein OSGi-Bundle

Um eine Java Archive (JAR)-Datei in ein OSGi-Bundle zu konvertieren, führen Sie die Schritte zum Erstellen eines OSGi-Bundles aus der angehängten junit-4.4.jar aus, wie in diesem Artikel unten beschrieben.

Beschreibung description

Umgebung

Experience Manager

Problem/Symptome

Wie konvertiere ich eine vorhandene Java Archive-Datei (JAR) in ein Open Service Gateway Initiative-Bundle (OSGi)?

Auflösung resolution

  1. Erstellen Sie zunächst die Manifestdatei einer JAR-Datei:

    code language-none
    Manifest-Version: 1.0
    Created-By: myself
    Bundle-ManifestVersion: 2
    Bundle-Name: JUnit 4.4 bundle
    Bundle-Description: Package junit 4.4 in an OSGi bundle
    Bundle-Version: 4.4.0
    Bundle-ClassPath: .,junit-4.4.jar
    Bundle-SymbolicName: org.junit.framework
    Export-Package: junit.framework,junit.extensions,org.junit.runner,org.junit,junit.textui
    
    • Der Header Bundle-ClassPath ist so eingestellt, dass die ursprüngliche JAR-Datei unverändert eingebettet werden kann. Stellen Sie sicher, dass der zugehörige Wert mit dem Dateinamen der JAR-Datei übereinstimmt, die Sie in das Bundle einbetten möchten.
    • Export-Package ist eine Liste von Paketen, die im JAR enthalten sind und die Sie anderen im OSGi-Container ausgeführten Bundles zur Verfügung stellen möchten.
  2. JAR-Datei

    Rufen Sie die JAR-Datei ab.

  3. Erstellen Sie die Bundle-JAR-Datei, indem Sie den folgenden Befehl ausführen:

    code language-none
    jar cvfm junit-4.4-bundle.jar manifest.txt junit-4.4.jar
    

    Wobei manifest.txt der Name der oben erstellten Manifestdatei ist.

Das war es - die resultierende JAR-Datei ist ein OSGi-Bundle, das die in Export-Package oben aufgeführten Pakete exportiert und dabei die Klassen des eingebetteten junit-4.4.jar. verwendet

recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f