Convertire un file JAR in un bundle OSGi

Per convertire un file JAR (Java Archive) in un bundle OSGi, segui i passaggi per creare un bundle OSGi dal file junit-4.4.jar allegato, come descritto in questo articolo di seguito.

Descrizione description

Ambiente

Experience Manager

Problema/Sintomi

Come si converte un file JAR (Java Archive) esistente in un bundle OSGi (Open Service Gateway Initiative)?

Risoluzione resolution

  1. Per iniziare, crea un file manifesto JAR:

    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
    
    • L'intestazione Bundle-ClassPath è impostata in modo da consentire l'incorporamento del file jar originale così com'è. Assicurati che il relativo valore corrisponda al nome file del file jar che stai per incorporare nel bundle.
    • Export-Package è un elenco di pacchetti contenuti nel file jar che desideri rendere disponibili ad altri bundle in esecuzione nel contenitore OSGi.
  2. File JAR

    Ottieni il file jar.

  3. Crea il file JAR del bundle eseguendo il seguente comando:

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

    Dove manifest.txt è il nome del file manifesto creato in precedenza.

Il file JAR risultante è un bundle OSGi che esporta i pacchetti elencati in Export-Package sopra, utilizzando le classi del junit-4.4.jar. incorporato

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