Hitachi

Cosminexus V11 アプリケーションサーバ アプリケーション開発ガイド


付録L.4 アーカイブ形式のJ2EEアプリケーションの作成

Developerが提供するプラグインを使用しないでアーカイブ形式のJ2EEアプリケーションを開発する場合,jarコマンドを使用してアーカイブを作成します。ここでは,WARファイル,EJB-JARファイル,およびEARファイルの作成について説明します。

〈この項の構成〉

(1) WARファイルの作成(jarコマンド)

jarコマンドを使用して,Webアプリケーションとして使用するプログラムやファイルをWARファイルにアーカイブします。WARファイルにアーカイブする場合のディレクトリ構成,およびjarコマンドの指定例を示します。

(a) WARファイルのディレクトリ構成

表L‒2 jarコマンドによるアーカイブ時のディレクトリ構成(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オプションで指定されたファイルが格納されます。用意しなくてもアーカイブ内に自動的に作成されます。

(凡例)

○:アーカイブするときに必須であることを示します

−:該当しません

注※

次のどちらかの条件を満たす場合は,省略できます。

・WARファイルに含まれるファイルが,JSPファイルまたは静的コンテンツだけの場合。

・サーブレット,フィルタ,リスナをアノテーションで定義したWebアプリケーションの場合。

(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ファイルのディレクトリ構成

表L‒3 jarコマンドによるアーカイブ時のディレクトリ構成(EJB-JAR)

ディレクトリ名またはファイル名

説明

必須

/

アーカイブ内のルートディレクトリです。

 *.class

Enterprise Beanのクラス,Enterprise Beanのホームインタフェース,コンポーネントインタフェース,ビジネスインタフェース,およびそれらが依存するそのほかのクラス(インタフェース)のクラスファイル(*.class)をパッケージ名に従ったディレクトリ階層で格納します。

/META-INF/

管理情報を格納するディレクトリです。jarコマンドによって自動的に作成されます。

 ejb-jar.xml

EJB仕様で規定されたDDです。

 MANIFEST.MF

マニフェストファイルです。jarコマンドのmオプションを指定することで,アーカイブ内に自動的に作成されます。

(凡例)

○:アーカイブするときに必須であることを示します

−:該当しません

注※

EJB2.0仕様のEnterprise Beanでは必須です。アノテーションに対応したEnterprise Beanでは不要です。

(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ファイルのディレクトリ構成

表L‒4 jarコマンドによるアーカイブ時のディレクトリ構成(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オプションを指定することで,アーカイブ内に自動的に作成されます。

(凡例)

○:アーカイブするときに必須であることを示します

−:該当しません

注※

省略できます。

(b) EARファイル作成時のjarコマンド指定例

カレントディレクトリおよびサブディレクトリに次のようにファイルが用意されているとします。

MyEJB.jar
MyUtil.jar
MyApp.war
META-INF/application.xml

このとき,次のようにコマンドを実行すると,「MyApp.ear」という名称のEARファイルが作成されます。

jar cf ..\MyApp.ear .\