JAR ファイルを OSGi バンドルに変換

Java アーカイブ(JAR)ファイルを OSGi バンドルに変換するには、次のこの記事で説明するように、添付された junit-4.4.jar から OSGi バンドルを作成する手順に従います。

説明 description

環境

Adobe Experience Manager

問題/症状

既存の Java アーカイブ(JAR)ファイルを Open Service Gateway Initiative (OSGi)バンドルに変換するにはどうすればよいですか?

解決策 resolution

  1. まず、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
    
    • ヘッダ Bundle-ClassPath は、元の jar をそのまま埋め込むことができるように設定されています。 その値が、バンドルに埋め込む jar ファイル名と一致することを確認します。
    • Export-Package は、OSGi コンテナで実行されている他のバンドルで使用できるようにする、jar に含まれるパッケージのリストです。
  2. JAR ファイル

    jar ファイルを取得します。

  3. 次のコマンドを実行して、バンドル jar ファイルを作成します。

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

    ここで、manifest.txt は、上記で作成したマニフェストファイルの名前です。

これで完了です。結果の jar ファイルは OSGi バンドルで、埋め込み junit-4.4.jar. のクラスを使用して、上記の Export-Package にリストされているパッケージを書き出します。

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