第11章 プレーン JAR のデプロイ

概要

アプリケーションを Apache Karaf にデプロイする別の方法は、プレーン JAR ファイルを使用することです。これらは通常 、デプロイメントメタデータを含まない ライブラリーです。プレーンな JAR は、WAR でも OSGi バンドルでもありません。

プレーン JAR がバンドルの依存関係として発生する場合は、バンドルヘッダーを JAR に追加する必要があります。JAR がパブリック API を公開する場合には、通常、最善の解決策は、既存の JAR をバンドルに変換し、JAR を他のバンドルと共有できるようにすることです。この章の手順を使用して、オープンソースの Bnd ツールで変換プロセスを自動的に実行します。

Bnd ツールの詳細は、Bnd ツールの Web サイト を参照してください。

11.1. ラップスキームを使用した JAR の変換

概要

wrap: プロトコルを使用して JAR をバンドルに変換するオプションがあり、既存の URL 形式で使用できます。wrap: プロトコルは Bnd ユーティリティーに基づいています。

構文

wrap: プロトコルの基本的な構文は次のとおりです。

wrap:LocationURL

wrap: プロトコルは、JAR を特定する URL に接頭辞として指定できます。URL の一部を見つけるため、プレーン JAR と wrap: プロトコルの URL ハンドラーをの取得に LocationURL が使用され、JAR が自動的にバンドルに変換されます。

注記

wrap: プロトコルは、より詳細な構文もサポートします。これにより、Bnd プロパティーファイルを指定するか、URL に個別の Bnd プロパティーを指定して、変換をカスタマイズできます。ただし、通常は、wrap: プロトコルがデフォルト設定で使用されます。

デフォルトのプロパティー

wrap: プロトコルは Bnd ユーティリティーをベースとしているため、Bnd とまったく同じデフォルトプロパティーを使用してバンドルを生成します

ラップおよびインストール

以下の例は、単一のコンソールコマンドを使用して、リモート Maven リポジトリーからプレーン commons-logging JAR をダウンロードし、これを OSGi バンドルに動的に変換してから、OSGi コンテナーで起動する方法を示しています。

karaf@root> bundle:install -s wrap:mvn:commons-logging/commons-logging/1.1.1

参照資料

wrap: プロトコルは、Pax プロジェクト によって提供されます。これは、さまざまなオープンソースの OSGi ユーティリティー向けの包括的なプロジェクトです。wrap: プロトコルに関するドキュメントは、Wrap Protocol リファレンスページを参照してください。