Eclipseで.warファイルを作成するJavaTips 〜Eclipse活用編

» 2004年02月10日 10時00分 公開
[山田祥寛@IT]

 「Webアプリケーション」と一口にいって、その内容は(当然のことながら)単一のものではありません。静的なHTMLファイルからユーザーインターフェイスをつかさどるJSPファイル、サーブレットやJavaBeansを含むクラスファイル、リソースを管理するプロパティファイル、設定情報を記述したXMLファイル、「.jpg」や「.png」のような画像ファイル……などなど、Webアプリケーションを構成するコンテンツの種類はあまりに多様です。

 このようなWebアプリケーションをパッケージとして配布するに際しては、どのような方法があるでしょう。フォルダイメージをそのままにファイルサーバ、FTPサーバ上に格納してもよいかもしれません。フォルダ全体を圧縮して、おなじみの「.zip」や「.lzh」のような形式で配布するのもよいでしょう。

 しかし、J2EEにおいてはアプリケーションを配布するに際して、より標準的な方法を提供しています。それが「.war」ファイルなのです。

 .warファイルは「Web Application Resources」の略で、その名のとおり、Webアプリケーションに関するリソースをアーカイブとして1個にまとめたものをいいます。内部的には「.zip」ファイルと等価の単なる「圧縮ファイル」ですが、.warファイルには単なる.zipファイルとは異なる特性があります。

 .warファイルはアプリケーションフォルダ(注)配下に配置することで、コンテナ再起動時に自動的に展開(インストール)され、クライアントからアクセス可能な状態になります。J2EEの標準的なファイルですので、ユーザー側もアプリケーションごとにインストール方法が異なるなどで悩む必要がありません。

注:Tomcatの場合、デフォルトは「C:\Program Files\Apache Group\Tomcat 4.1\webapps」(Windows版)、「/usr/local/jakarta-tomcat-4.1.27/webapps」(Linux版)。

 通常、標準的な方法で「.war」ファイルを作成するためには、コマンドプロンプトからjarコマンドを使用する必要がありましたが、Eclipseではワンクリックでこれを済ませることが可能です。

操作手順

(1)「Tomcat PlugIn」を準備する

 .warファイルの作成を行うには、あらかじめ「Tomcat PlugIn」をインストールしておく必要があります。Tomcat PlugInのインストールについては、「EclipseでTomcatを使ったJ2EE開発を行う」(Java Solution)を参考にしてください。

(2)「.war」ファイルの出力先を指定する

 パッケージエクスプローラ(注)からプロジェクト名を右クリック、表示されたコンテキストメニューから「プロパティ(R)」を選択します。[(アプリケーション名)のプロパティ]が開くので、左のツリーから「Tomcat」を選択したうえで、[全般]タブの「エクスポートするWARファイル」を指定します。

 「WARファイル」を作成するフォルダ、および、ファイル名は自由に決めることができます。

 また、この際に「.javaファイルを含める」かどうかを指定することができます。エンドユーザーにソースコードを公開したくない場合にはボックスにチェックを立てることで、「.war」ファイル作成時に「.java」ファイルを除外します。

注:パッケージ・エクスプローラが表示されていない場合には、メニューバーから[ウィンドウ(W)]→[ビューの表示(V)]→[パッケージ・エクスプローラー]を選択してください。

画面

(3).warファイルを作成する

 以上で.warファイルを作成するための事前準備は完了です。あとは、実際に.warファイルを作成するだけです。ちなみに、2回目以降の.warファイル作成においては、この(3)の作業だけを行えばOKです。

 パッケージ・エクスプローラからプロジェクト名を右クリック、表示されたコンテキストメニューから[Tomcatプロジェクト]→[プロジェクト設定に従いWARファイルを作成する]を選択します。

 以下のダイアログが表示され、(2)で設定したパス名で.warファイルができていれば成功です。

画面

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。