9.3.2 アプリケーションディレクトリの作成(展開ディレクトリ)

Developerが提供するプラグインを使用しないで展開ディレクトリ形式のJ2EEアプリケーションを開発する場合,最初にアプリケーションディレクトリを作成します。

作成するアプリケーションディレクトリの構成例を,次の図に示します。

図9-3 アプリケーションディレクトリの構成例

[図データ]

アプリケーションディレクトリ名は任意です。EJB-JARディレクトリとWARディレクトリは,アプリケーションディレクトリの直下に作成する必要はありません。

EJB-JARディレクトリおよびWARディレクトリは,それぞれapplication.xmlの<module>タグ以下に指定して作成します。application.xmlの記述例を次に示します。

<?xml version="1.0" encoding="UTF-8" ?>
<application xmlns="http://java.sun.com/xml/ns/j2ee"
       version="1.4"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
       http://java.sun.com/xml/ns/j2ee/application_1_4.xsd">  <display-name>converter</display-name>
 <module>
   <ejb>subdir/converter.jar</ejb>
 </module>
 <module>
   <web>
     <web-uri>MyWebApp.war</web-uri>
     <context-root>/</context-root>
   </web>
 </module>
</application>

このapplication.xmlに対応するアプリケーションディレクトリの構成を,次に示します。

図9-4 アプリケーションディレクトリの構成

[図データ]

application.xmlの定義内容とアプリケーションディレクトリの対応
  • EJB-JARディレクトリおよびWARディレクトリは,それぞれ<module>タグ以下に指定したEARファイル上の相対パスに作成します。
  • <module>タグ以下に定義するEJB-JARおよびWARのモジュールは,拡張子(.jarまたは.war)を付けて宣言します。
  • 作成されるEJB-JARディレクトリおよびWARディレクトリの名称は,拡張子(.jarまたは.war)を取り除いた名称となります。
  • アプリケーションディレクトリ以下に置かれている拡張子が小文字のJARファイル(.jar)のうち,<module>タグ以下に定義していないJARファイルは,ライブラリJARとして扱われます。
注意
  • アプリケーションディレクトリとしてUNCパスは指定できません。指定した場合は,サーバ管理コマンドでインポートするときにエラーとなります。
  • J2EEサーバ起動処理中やサーバ管理コマンド実行中に,アプリケーションディレクトリ以下のファイルおよびディレクトリを追加,削除,上書きしないでください。
  • application.xmlに<alt-dd>タグが指定されているJ2EEアプリケーションは,展開ディレクトリ形式で使用できません。展開ディレクトリ形式のJ2EEアプリケーションをインポートする場合に,J2EEアプリケーションのapplication.xmlに<alt-dd>タグが指定されているときは,コマンド実行時にエラーとなります。
  • <module>タグ以下に定義するEJB-JARおよびWARのモジュールで,異なる拡張子を付けた場合,J2EEアプリケーションのインポートに失敗します。
  • アプリケーションディレクトリ以下にJavaソースファイルを置くような構成は推奨しません。同じディレクトリに置かれているクラスファイルとJavaソースファイルの同期が取れていない場合,J2EEアプリケーションの開始やリロードに失敗する場合があります。
  • 半角記号「!」「#」「%」「+」はエスケープ文字として扱われるため,アプリケーションディレクトリ名およびモジュール名に指定しないでください。
  • アプリケーションディレクトリ以下に置かれているJARファイルはライブラリJARとして扱われるため,アプリケーションディレクトリ以下には,cjgetstubsjarコマンドで取得したスタブおよびインタフェースを置かないでください。