3.2. デプロイメントへの明示的なモジュール依存関係の追加
このタスクでは、アプリケーションへ明示的な依存関係を追加する方法を説明します。明示的なモジュール依存関係をアプリケーションに追加すると、これらのモジュールのクラスをアプリケーションのクラスパスに追加することができます。
一部の依存関係は JBoss Enterprise Application Platform 6 によって自動的にデプロイメントへ追加されます。詳細は 「暗黙的なモジュール依存関係」 を参照してください。
要件
- モジュール依存関係を追加するソフトウェアプロジェクトが存在する必要があります。
- 依存関係として追加するモジュールの名前を覚えておく必要があります。JBoss Enterprise Application Platform に含まれる静的モジュールのリストは 「含まれるモジュール」 を参照してください。モジュールが他のデプロイメントである場合は 「動的モジュールの名前付け」 を参照してモジュール名を判断してください。
依存関係を設定する方法は 2 つあります。
- デプロイメントの
MANIFEST.MF
ファイルにエントリーを追加します。 jboss-deployment-structure.xml
デプロイメント記述子にエントリーを追加します。
手順3.1 MANIFEST.MF へ依存関係の設定を追加する
Maven プロジェクトを設定して
MANIFEST.MF
ファイルに必要な依存関係エントリを作成することができます。「Maven を使用した MANIFEST.MF エントリーの生成」 を参照してください。
MANIFEST.MF
ファイルの追加プロジェクトにMANIFEST.MF
ファイルがない場合、MANIFEST.MF
というファイルを作成します。Web アプリケーション (WAR) では、このファイルをMETA-INF
ディレクトリーに追加します。EJB アーカイブ (JAR) では、META-INF
ディレクトリーに追加します。依存関係エントリの追加
依存関係モジュール名をコンマで区切り、依存関係エントリーをMANIFEST.MF
ファイルへ追加します。Dependencies: org.javassist, org.apache.velocity
任意: 依存関係を任意にする
依存関係エントリーのモジュール名にoptional
を付けると、依存関係を任意にすることができます。Dependencies: org.javassist optional, org.apache.velocity
任意: 依存関係のエクスポート
依存関係エントリーのモジュール名にexport
を付けると、依存関係をエクスポートすることができます。Dependencies: org.javassist, org.apache.velocity export
手順3.2 jboss-deployment-structure.xml への依存関係設定の追加
jboss-deployment-structure.xml
の追加アプリケーションにjboss-deployment-structure.xml
ファイルが存在しない場合は、jboss-deployment-structure.xml
という新しいファイルを作成し、プロジェクトに追加します。このファイルは<jboss-deployment-structure>
がルート要素の XML ファイルです。<jboss-deployment-structure> </jboss-deployment-structure>
Web アプリケーション (WAR) では、このファイルをWEB-INF
に追加します。EJB アーカイブ (JAR) では、META-INF
ディレクトリに追加します。依存関係セクションの追加
<deployment>
要素をドキュメントルート内に作成し、その中に<dependencies>
要素を作成します。モジュール要素の追加
依存関係ノード内に各モジュール依存関係に対するモジュール要素を追加します。name
属性をモジュールの名前に設定します。<module name="org.javassist" />
任意: 依存関係を任意にする
値がTRUE
のモジュールエントリーにoptional
属性を追加すると依存関係を任意にすることができます。この属性のデフォルト値はFALSE
です。<module name="org.javassist" optional="TRUE" />
任意: 依存関係のエクスポート
値がTRUE
のモジュールエントリーにexport
属性を追加すると依存関係をエクスポートできます。この属性のデフォルト値はFALSE
です。<module name="org.javassist" export="TRUE" />
例3.2 2 つの依存関係を持つ jboss-deployment-structure.xml
<jboss-deployment-structure> <deployment> <dependencies> <module name="org.javassist" /> <module name="org.apache.velocity" export="TRUE" /> </dependencies> </deployment> </jboss-deployment-structure>
JBoss Enterprise Application Platform 6 はデプロイされた時に、指定されたモジュールからアプリケーションのクラスパスへクラスを追加します。