3.2. デプロイメントへの明示的なモジュール依存関係の追加

このタスクでは、アプリケーションへ明示的な依存関係を追加する方法を説明します。明示的なモジュール依存関係をアプリケーションに追加すると、これらのモジュールのクラスをアプリケーションのクラスパスに追加することができます。
一部の依存関係は JBoss Enterprise Application Platform 6 によって自動的にデプロイメントへ追加されます。詳細は 「暗黙的なモジュール依存関係」 を参照してください。

前提条件

  1. モジュール依存関係を追加するソフトウェアプロジェクトが存在する必要があります。
  2. 依存関係として追加するモジュールの名前を覚えておく必要があります。JBoss Enterprise Application Platform に含まれる静的モジュールのリストは 「モジュールに含まれるもの」 を参照してください。モジュールが他のデプロイメントである場合は 「動的モジュールの名前付け」 を参照してモジュール名を判断してください。
依存関係を設定する方法は 2 つあります。
  1. デプロイメントの MANIFEST.MF ファイルにエントリーを追加します。
  2. jboss-deployment-structure.xml デプロイメント記述子にエントリーを追加します。

手順3.1 MANIFEST.MF へ依存関係の設定を追加する

Maven プロジェクトを設定して MANIFEST.MF ファイルに必要な依存関係エントリを作成することができます。「Maven を使用した MANIFEST.MF エントリーの生成」 を参照してください。
  1. MANIFEST.MF ファイルの追加

    プロジェクトに MANIFEST.MF ファイルがない場合、MANIFEST.MF というファイルを作成します。Web アプリケーション (WAR) では、このファイル をWEB-INF ディレクトリに追加します。EJB アーカイブ (JAR) では、META-INF ディレクトリに追加します。
  2. 依存関係エントリの追加

    依存関係モジュール名をコンマで区切り、依存関係エントリーを MANIFEST.MF ファイルへ追加します。
    Dependencies: org.javassist, org.apache.velocity
  3. 任意: 依存関係を任意にする

    依存関係エントリーのモジュール名に optional を付けると、依存関係を任意にすることができます。
    Dependencies: org.javassist optional, org.apache.velocity
  4. 任意: 依存関係のエクスポート

    依存関係エントリーのモジュール名に export を付けると、依存関係をエクスポートすることができます。
    Dependencies: org.javassist, org.apache.velocity export

手順3.2 jboss-deployment-structure.xml への依存関係設定の追加

  1. 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 ディレクトリに追加します。
  2. 依存関係セクションの追加

    <deployment> 要素をドキュメントルート内に作成し、その中に <dependencies> 要素を作成します。
  3. モジュール要素の追加

    依存関係ノード内に各モジュール依存関係に対するモジュール要素を追加します。name 属性をモジュールの名前に設定します。
    <module name="org.javassist" />
  4. 任意: 依存関係を任意にする

    値が TRUE のモジュールエントリーに optional 属性を追加すると依存関係を任意にすることができます。この属性のデフォルト値は FALSE です。
    <module name="org.javassist" optional="TRUE" />
  5. 任意: 依存関係のエクスポート

    値が TRUE のモジュールエントリーに optional 属性を追加すると依存関係を任意にすることができます。この属性のデフォルト値は 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 はデプロイされた時に、指定されたモジュールからアプリケーションのクラスパスへクラスを追加します。