このセクションでは、標準エンタープライズアプリケーションのデプロイメントディスクリプタである application.xml と、J2EE 拡張メカニズムについて説明します。J2EE 拡張メカニズムによって、同じクラスライブラリ上にある個々のモジュールの依存性を調整することができます。
アプリケーションのアセンブル担当者は application.xml ファイルを使用して、エンタープライズアプリケーションとそれに含まれている J2EE モジュールを宣言します。エンタープライズアプリケーションには、1 つ以上の Web アプリケーション、EJB、またはエンタープライズリソースアダプタが含まれています。また、アプリケーションのアセンブル担当者は application.xml ファイルを使用して、すべてのアプリケーションモジュールに適用するセキュリティロールも指定できます。
application.xml ファイルの alt-dd 要素を使用すると、アセンブル担当者はモジュールアーカイブファイル内にあるデプロイメントディスクリプタではなく、他のデプロイメントディスクリプタを使用できます。個々の WAR、JAR、および RAR ファイル内でデプロイメントディスクリプタを変更する必要はありません。
application.xml ファイルには、application 要素の下に次の最上位レベルの要素が含まれています。
次のデプロイメントディスクリプタでは、展開したディレクトリで EJB モジュールを、JARファイルで EJB モジュールを、展開したディレクトリで Web アプリケーションモジュールを、WAR ファイルで Web アプリケーションを宣言し、さらにセキュリティロールも宣言します。
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE application PUBLIC "-//Sun Microsystems, Inc.//DTD J2EE Application 1.3//EN" "http://java.sun.com/dtd/application_1_3.dtd"> <application> <display-name>samples-ear</display-name> <module> <ejb>account</ejb> </module> <module> <ejb>shoppingcart.jar</ejb> </module> <module> <web> <web-uri>samples-war</web-uri> <context-root>/samples</context-root> </web> <web> <web-uri>storefront.war</web-uri> <context-root>/storefront</context-root> </web> </module> <security-role> <description>Administrator role</description> <role-name>Admin</role-name> </security-role> </application>
JRun には、アセンブル担当者が同じクラスライブラリ上の個々の J2EE モジュールの依存性を調整できる便利な方法があります。モジュールの META-INF/manifest.mf ファイルの Class-Path 属性に指定されているファイルが自動的にクラスパスに追加されます。Class-Path 属性には、JAR ファイル、ZIP ファイル、ディレクトリなどの標準のクラスパスで使用できる任意のファイルを指定できます。この機能は、アーカイブファイルまたは展開したディレクトリ内のエンタープライズアプリケーション、EJB、Web アプリケーション、およびリソースアダプタに使用できます。
アセンブル担当者はエンタープライズアプリケーション内にクラスライブラリの 1 つのコピーを入れ、そのクラスライブラリが必要な各モジュールの Class-Path 属性にそのクラスパスを指定できます。
次に例を示します。
Class-Path:common/util1.jar common/log4j.jar