Developerが提供するプラグインを使用しないでアーカイブ形式のJ2EEアプリケーションを開発する場合,jarコマンドを使用してアーカイブを作成します。ここでは,WARファイル,EJB-JARファイル,およびEARファイルの作成について説明します。
jarコマンドを使用して,Webアプリケーションとして使用するプログラムやファイルをWARファイルにアーカイブします。WARファイルにアーカイブする場合のディレクトリ構成,およびjarコマンドの指定例を示します。
表9-3 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オプションで指定されたファイルが格納されます。用意しなくてもアーカイブ内に自動的に作成されます。 | - |
カレントディレクトリおよびサブディレクトリに次のようにファイルが用意されているとします。
index.html |
このとき,次のようにコマンドを実行すると,「MyApp.war」という名称のWARファイルが作成されます。
jar cf ..¥MyApp.war . |
jarコマンドを使用して,Enterprise BeanやDDをEJB-JARファイルにアーカイブします。EJB-JARファイルにアーカイブする場合のディレクトリ構成,およびjarコマンドの指定例を示します。
表9-4 jarコマンドによるアーカイブ時のディレクトリ構成(EJB-JAR)
ディレクトリ名またはファイル名 | 説明 | 必須 |
---|---|---|
/ | アーカイブ内のルートディレクトリです。 | ○ |
*.class | Enterprise Beanのクラス,Enterprise Beanのホームインタフェース,コンポーネントインタフェース,ビジネスインタフェース,およびそれらが依存するJ2SEやJ2EE規定外のクラス(インタフェース)のクラスファイル(*.class)をパッケージ名に従ったディレクトリ階層で格納します。 | ○ |
/META-INF/ | 管理情報を格納するディレクトリです。jarコマンドによって自動的に作成されます。 | - |
ejb-jar.xml | EJB仕様で規定されたDDです。 | ○※ |
MANIFEST.MF | マニフェストファイルです。jarコマンドのmオプションを指定することで,アーカイブ内に自動的に作成されます。 | - |
カレントディレクトリおよびサブディレクトリに次のようにファイルが用意されているとします。
com/mycorp/account/Account.class |
このとき,次のようにコマンドを実行すると,「MyEJB.jar」という名称のEJB-JARファイルが作成されます。
jar cf ..¥MyEJB.jar .¥ |
jarコマンドを使用して,WARファイル,EJB-JARファイル,ライブラリJARファイル,およびDDをEARファイルにアーカイブします。EARファイルにアーカイブする場合のディレクトリ構成,およびjarコマンドの指定例を示します。
表9-5 jarコマンドによるアーカイブ時のディレクトリ構成(EAR)
ディレクトリ名またはファイル名 | 説明 | 必須 |
---|---|---|
/ | アーカイブ内のルートディレクトリです。 | ○ |
*.jar,*.war | J2EEアプリケーションに含まれるEJB-JARファイル,WARファイル,およびそのほかのJARファイルです。hitachi-runtime.jarという名称は使用できません。application.xmlにJ2EEアプリケーションの構成モジュールとして定義されていない拡張子が小文字のJARファイル(.jar)は,ライブラリJARとして扱われ,J2EEアプリケーションのクラスパスに追加されます。 | ○ |
/META-INF/ | 管理情報を格納するディレクトリです。jarコマンドによって自動的に作成されます。 | - |
application.xml | J2EE仕様で規定されたDDです。 | ○ |
MANIFEST.MF | マニフェストファイルです。jarコマンドのmオプションを指定することで,アーカイブ内に自動的に作成されます。 | - |
カレントディレクトリおよびサブディレクトリに次のようにファイルが用意されているとします。
MyEJB.jar |
このとき,次のようにコマンドを実行すると,「MyApp.ear」という名称のEARファイルが作成されます。
jar cf ..¥MyApp.ear .¥ |