15.4. Wrap URL ハンドラー
15.4.1. 概要
まだバンドルとしてパッケージ化されていない JAR ファイルを参照する必要がある場合は、Wrap URL ハンドラーを使用して動的に変換できます。Wrap URL ハンドラーの実装は、Peter Krien のオープンソース Bnd ユーティリティーに基づいています。
15.4.2. 構文
Wrap URL の構文は次のとおりです。
wrap:locationURL[,instructionsURL][$instructions]
locationURL は、JAR を検索する任意の URL にすることができます (参照される JAR がバンドルとしてフォーマットされて いない 場合)。オプションの instructionsURL は、バンドル変換の実行方法を指定する Bnd プロパティーファイルを参照します。任意の instructions は、バンドル変換の実行方法を指定する、アンパサンド &
で区切られた Bnd プロパティーのリストです。
15.4.3. デフォルトの手順
ほとんどの場合、API JAR ファイルをラップするには、デフォルトの Bnd 命令で十分です。デフォルトでは、Wrap は、表15.1「JAR をラッピングするデフォルトの命令」 に示されているようにマニフェストヘッダーを JAR の META-INF/Manifest.mf
ファイルに追加します。
マニフェストヘッダー | デフォルト値 |
---|---|
|
|
| ラップされた JAR からのすべてのパッケージ。 |
|
JAR ファイルの名前。セット |
15.4.4. 例
以下の Wrap URL は、Maven リポジトリーでバージョン 1.1 の commons-logging
JAR のを見つけ、デフォルトの Bnd プロパティーを使用してこれを OSGi バンドルに変換します。
wrap:mvn:commons-logging/commons-logging/1.1
以下の Wrap URL は、ファイル E:\Data\Examples\commons-logging-1.1.bnd
からの Bnd プロパティーを使用します。
wrap:mvn:commons-logging/commons-logging/1.1,file:E:/Data/Examples/commons-logging-1.1.bnd
以下の Wrap URL は、Bundle-SymbolicName
プロパティーと Bundle-Version
プロパティーを明示的に指定します。
wrap:mvn:commons-logging/commons-logging/1.1$Bundle-SymbolicName=apache-comm-log&Bundle-Version=1.1
上記の URL をコマンドライン引数として使用する場合は、以下のようにドル記号を \$
のようにエスケープしてコマンドラインで処理されないようにする必要がある場合があります。
wrap:mvn:commons-logging/commons-logging/1.1\$Bundle-SymbolicName=apache-comm-log&Bundle-Version=1.1
15.4.5. 参照資料
wrap
URL ハンドラーの詳細は、以下の参考資料を参照してください。
- Bnd プロパティーと Bnd 命令ファイルの詳細は、Bnd ツールのドキュメント を参照してください。
- 元の Pax URL Wrap Protocol ドキュメント。