@IT > Java Agile > Java TIPS >「.war」ファイルを作成する
 

   JSP/サーブレット

「.war」ファイルを作成する

山田祥寛
2003/12/16


 「.jsp」「.class」ファイルをはじめ、「.html」「.txt」「.jpg」のような、アプリケーションの動作に必要な一連のファイル群を総称して、「Webアプリケーション」と言います。Tomcatで言うならば、webappsフォルダ配下に配置された個々のフォルダがそれぞれ一個の「Webアプリケーション」であるといって良いでしょう。

 これら「Webアプリケーション」を配布するに際して、皆さんはどのような方法を採っているでしょうか。もちろん、「.zip」や「.tar.gz」のような一般的な圧縮形式でまとめることも可能ではあります。しかし、JSP&サーブレットにはもっと便利な「WAR(Web Archive Resources)」形式が用意されています。

 「.war」ファイルは「内部的には単なる「.zip」形式」の圧縮形式であるにすぎません。しかし、「.war」ファイルには、規定のアプリケーションフォルダ(Tomcatならば、「%CATALINA_HOME%\webapps」)にコピーしておくことで、コンテナの(再)起動時に自動的に解凍され、そのままブラウザからアクセスできるというという利点があります。

 つまり、「.war」ファイルにアプリケーション動作に必要な拡張ライブラリなど必要なファイルをすべて含めておけば、ユーザは「なにも考えずに」そのままWebアプリケーションを利用することができるのです。

 「.war」ファイルは作成するのも、実に簡単な手順ですみます。たとえば、「%CATALINA_HOME%\webapps\javatips」配下のファイル群を「.war」ファイル化したいとしたら、どうでしょう(「%CATALINA_HOME%」はTomcatのインストールフォルダとします)。

> cd %CATALINA_HOME%\webapps\javatips
> jar cvf javatips.war *

 これで、カレントフォルダにはjavatips.warが生成されているはずです。

 jarコマンドでは、さまざまなオプションを指定することができますが、ここではその中でも特に主要なオプションを挙げておくことにします。

オプション 概要
c アーカイブを新規作成
u 既存アーカイブを更新
v 標準出力に詳細な出力を生成
f アーカイブファイル名を指定
m 指定のマニフェストファイルからマニフェスト情報をインポート
O 格納のみ。ZIP圧縮を使用しない
M マニフェストファイルを作成しない
C 指定のディレクトリに変更し、以下のファイルを取り込む

▲jarコマンドの主要なオプション

「Java TIPS」