Menu Close

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

概要

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

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

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

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

概要

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

構文

wrap: プロトコルには、以下の基本的な構文があります。

wrap:LocationURL

wrap: プロトコルは、JAR を見つける URL をプレフィックスとして付けることができます。URL の検索部分 LocationURL は、プレーン JAR および wrap: プロトコルの URL ハンドラーを取得するために使用され、JAR を自動的にバンドルに変換します。

注記

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

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

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

Wrap および install

以下の例は、1 つの console コマンドを使用してリモート 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 reference 」を参照してください。