付録L.4 アーカイブ形式のJ2EEアプリケーションの作成
Developerが提供するプラグインを使用しないでアーカイブ形式のJ2EEアプリケーションを開発する場合,jarコマンドを使用してアーカイブを作成します。ここでは,WARファイル,EJB-JARファイル,およびEARファイルの作成について説明します。
(1) WARファイルの作成(jarコマンド)
jarコマンドを使用して,Webアプリケーションとして使用するプログラムやファイルをWARファイルにアーカイブします。WARファイルにアーカイブする場合のディレクトリ構成,およびjarコマンドの指定例を示します。
(a) WARファイルのディレクトリ構成
ディレクトリ名またはファイル名 |
説明 |
必須 |
---|---|---|
/ |
アーカイブ内のルートディレクトリです。 |
○ |
任意 |
JSPやHTML,そのほかのwebクライアントからアクセスされるファイルです。WEB-INF以外のサブディレクトリに格納することもできます。 |
− |
/WEB-INF/ |
webクライアントから直接アクセスできないファイルを格納するディレクトリです。 |
○ |
web.xml |
servlet仕様で規定されたDDです。 |
○※ |
*.tld |
JavaServer Pages(TM)仕様で規定されたタグライブラリ・ディスクリプタのファイルです。サブディレクトリの下に格納してもかまいません。 |
− |
/WEB-INF/classes/ |
サーブレットやそのほかのクラスファイルを格納するディレクトリです。格納するファイルがないときは不要です。 |
− |
*.class |
パッケージ名称に従って,ディレクトリ階層にサーブレットやそのほかのクラスファイル(*.class)を格納します。 |
− |
/WEB-INF/lib/ |
サーブレットやそのほかのクラスを含むJARファイル(*.jar)を格納するディレクトリです。格納するファイルがないときは不要です。 |
− |
*.jar |
サーブレットやそのほかのクラスを含むJARファイル(*.jar)を格納します。 |
− |
/META-INF/ |
管理情報を格納するディレクトリです。jarコマンドによって自動的に作成されます。 |
− |
MANIFEST.MF |
jarコマンドのmオプションで指定されたファイルが格納されます。用意しなくてもアーカイブ内に自動的に作成されます。 |
− |
(b) WARファイル作成時のjarコマンド指定例
カレントディレクトリおよびサブディレクトリに次のようにファイルが用意されているとします。
index.html howto.jsp feedback.jsp images/banner.gif images/jumping.gif WEB-INF/web.xml WEB-INF/lib/jspbean.jar WEB-INF/classes/com/mycorp/servlets/MyServlet.class WEB-INF/classes/com/mycorp/util/MyUtils.class
このとき,次のようにコマンドを実行すると,「MyApp.war」という名称のWARファイルが作成されます。
jar cf ..\MyApp.war .
(2) EJB-JARファイルの作成(jarコマンド)
jarコマンドを使用して,Enterprise BeanやDDをEJB-JARファイルにアーカイブします。EJB-JARファイルにアーカイブする場合のディレクトリ構成,およびjarコマンドの指定例を示します。
(a) EJB-JARファイルのディレクトリ構成
ディレクトリ名またはファイル名 |
説明 |
必須 |
---|---|---|
/ |
アーカイブ内のルートディレクトリです。 |
○ |
*.class |
Enterprise Beanのクラス,Enterprise Beanのホームインタフェース,コンポーネントインタフェース,ビジネスインタフェース,およびそれらが依存するそのほかのクラス(インタフェース)のクラスファイル(*.class)をパッケージ名に従ったディレクトリ階層で格納します。 |
○ |
/META-INF/ |
管理情報を格納するディレクトリです。jarコマンドによって自動的に作成されます。 |
− |
ejb-jar.xml |
EJB仕様で規定されたDDです。 |
○※ |
MANIFEST.MF |
マニフェストファイルです。jarコマンドのmオプションを指定することで,アーカイブ内に自動的に作成されます。 |
− |
(b) EJB-JARファイル作成時のjarコマンド指定例
カレントディレクトリおよびサブディレクトリに次のようにファイルが用意されているとします。
com/mycorp/account/Account.class com/mycorp/account/AccountEJB.class com/mycorp/account/AccountHome.class com/mycorp/account/InsufficientBalanceException.class META-INF/ejb-jar.xml
このとき,次のようにコマンドを実行すると,「MyEJB.jar」という名称のEJB-JARファイルが作成されます。
jar cf ..\MyEJB.jar .\
(3) EARファイルの作成(jarコマンド)
jarコマンドを使用して,WARファイル,EJB-JARファイル,ライブラリJARファイル,およびDDをEARファイルにアーカイブします。EARファイルにアーカイブする場合のディレクトリ構成,およびjarコマンドの指定例を示します。
(a) EARファイルのディレクトリ構成
ディレクトリ名またはファイル名 |
説明 |
必須 |
---|---|---|
/ |
アーカイブ内のルートディレクトリです。 |
○ |
*.jar,*.war |
J2EEアプリケーションに含まれるEJB-JARファイル,WARファイル,およびそのほかのJARファイルです。hitachi-runtime.jarという名称は使用できません。application.xmlにJ2EEアプリケーションの構成モジュールとして定義されていない拡張子が小文字のJARファイル(.jar)は,ライブラリJARとして扱われ,J2EEアプリケーションのクラスパスに追加されます。 |
○ |
/META-INF/ |
管理情報を格納するディレクトリです。jarコマンドによって自動的に作成されます。 |
− |
application.xml |
JavaEE仕様で規定されたDDです。 |
○※ |
MANIFEST.MF |
マニフェストファイルです。jarコマンドのmオプションを指定することで,アーカイブ内に自動的に作成されます。 |
− |