アプリケーションのマニフェスト・ファイルで共有ライブラリーを宣言するインストール済みオプション・パッケージを使用すると、1 つ以上の共有ライブラリーをアプリケーションと関連付けることができます。
そうすると、
共有ライブラリーで表されるクラスがアプリケーションのクラス・ローダーにロードされ、
そのクラスがアプリケーションで使用できるようになります。
始める前に
インストール済みオプション・パッケージについては、インストール済みオプショナル・パッケージおよび http://docs.oracle.com/javaee/1.4/api/index.html の Java 2 Platform, Enterprise Edition (J2EE) 仕様、バージョン 1.4 のセクション 8.2 を参照してください。
WebSphere® Application Server では、Java 2 Platform Standard Edition (J2SE) 仕様 (http://docs.oracle.com/cd/E19455-01/806-7503/6jgceuig7/index.html) で使用される J2SE インストール済みオプショナル・パッケージ・セマンティクスはサポートされていません。これは主にアプレット環境で使用されます。WebSphere Application Server は、
マニフェスト・ファイル内のアプレット固有のタグを無視します。
このタスクについて
インストール済みオプション・パッケージは、アプリケーション・サーバーの既存の共有ライブラリー機能を拡張します。
インストール済みオプション・パッケージによって、
管理者はマニフェスト・ファイルにリストされたインストール済みオプション・パッケージの要素で、
共有ライブラリーに対するアプリケーションのマニフェスト・ファイルの依存関係を宣言でき、
自動的にアプリケーションと共有ライブラリーを関連付けることができます。アプリケーションのインストール中に、共有ライブラリー .jar ファイルがアプリケーション・クラス・ローダーのクラスパスに追加されます。
共有ライブラリーとアプリケーションを関連付けるのにインストール済みオプション・パッケージを使用する場合は、
管理コンソールを使用して、同じ共有ライブラリーをアプリケーション・クラス・ローダーまたはサーバー・クラス・ローダーに関連付けないでください。
手順
- 拡張機能として識別するマニフェスト情報を含む、ライブラリー・ファイルをアセンブルします。
以下に 2 つのマニフェスト・ファイルのサンプルを示します。
最初のマニフェスト・ファイルのサンプルにはアプリケーション app1.ear があり、単一の共有ライブラリー・ファイル util.jar を参照します。
app1.ear:
META-INF/application.xml
ejb1.jar:
META-INF/MANIFEST.MF:
Extension-List: util
util-Extension-Name: com/example/util
util-Specification-Version: 1.4
META-INF/ejb-jar.xml
util.jar:
META-INF/MANIFEST.MF:
Extension-Name: com/example/util
Specification-Title: example.com's util package
Specification-Version: 1.4
Specification-Vendor: example.com
Implementation-Version: build96
2 番目のマニフェスト・ファイルのサンプルにはアプリケーション app1.ear があり、
複数の共有ライブラリー .jar ファイルを参照します。
app1.ear:
META-INF/application.xml
ejb1.jar:
META-INF/MANIFEST.MF:
Extension-List: util1 util2 util3
Util1-Extension-Name: com/example/util1
Util1-Specification-Version: 1.4
Util2-Extension-Name: com/example/util2
Util2-Specification-Version: 1.4
Util3-Extension-Name: com/example/util3
Util3-Specification-Version: 1.4
META-INF/ejb-jar.xml
util1.jar:
META-INF/MANIFEST.MF:
Extension-Name: com/example/util1
Specification-Title: example.com's util package
Specification-Version: 1.4
Specification-Vendor: example.com
Implementation-Version: build96
util2.jar:
META-INF/MANIFEST.MF:
Extension-Name: com/example/util2
Specification-Title: example.com's util package
Specification-Version: 1.4
Specification-Vendor: example.com
Implementation-Version: build96
util3.jar:
META-INF/MANIFEST.MF:
Extension-Name: com/example/util3
Specification-Title: example.com's util package
Specification-Version: 1.4
Specification-Vendor: example.com
Implementation-Version: build96
- ステップ 1 でアセンブルしたライブラリー・ファイルを表す
共有ライブラリーを作成します。 これにより、ライブラリー・ファイルが共有ライブラリーとしてインストールされます。
- 共有ライブラリー .jar ファイルをクラスター・メンバーにコピーします。
- ステップ 1 で作成されたマニフェストで指定したライブラリー・ファイルに対する
アプリケーション・マニフェスト・ファイルの依存
関係を宣言して、アプリケーションをアセンブルします。
- サーバーまたはクラスターにアプリケーションをインストールします。
タスクの結果
アプリケーションのインストール中に、共有ライブラリー .jar ファイルがアプリケーション・クラス・ローダーのクラスパスに追加されます。