S-JIS[2008-09-12] 変更履歴

Ant:war

Webアプリケーションアーカイブ(war)ファイルを作成するコアタスク。
(org.apache.tools.ant.taskdefs.War extends Jar

最新war


属性

属性 説明
destfile 生成するwarファイル名
webxml WEB-INF/web.xmlになるファイル

ボディー部に入れられるタグ

タグ 説明 備考
<fileset></fileset> warファイル直下に格納するファイルやディレクトリー。  
<classes></classes> WEB-INF/classesに格納するファイル(やディレクトリー)。 使用法はfilesetと同様。
<lib name="jarファイル"/> WEB-INF/libに格納するjarファイル。 1ファイルだけ指定。
<lib dir="ディレクトリー" /> そのディレクトリー直下のjarファイル全て。

ディレクトリー構造が以下のようになっていることを仮定。

C:\workspace3\web> tree
フォルダ パスの一覧
C:.
├─bin
├─classes
│  └─jp
│      └─hishidama
│          └─sample
├─webapps
│  ├─css
│  └─WEB-INF
├─src
│  └─jp
│      └─hishidama
│          └─sample
└─xml

build.xmlはbinの下にあり、webapps配下をwarファイル化する。
生成するwarファイルは、build.xmlと同じbinの下に作るものとする。

<?xml version="1.0" encoding="Shift_JIS"?>
<project name="war" default="mk_war" basedir=".." >
	<target name="mk_war">
		<war destfile="bin/test.war" webxml="xml/web1.xml">
			<fileset dir="webapps">
		<!--		<include name="**/*" /> -->
				<include name="**/*.jsp" />
				<include name="**/*.html" />
				<include name="**/*.css" />
				<exclude name="**/web.xml" />
			</fileset>

			<!-- クラス全部 -->
			<classes dir="classes" />
		<!--
			<classes dir="classes">
				<exclude name="**/ejb/*" />
			</classes>
		-->

			<!-- ライブラリー -->
			<lib file="C:\eclipse3\plugins\org.apache.ant_1.6.5\lib\ant.jar" /> <!-- WEB-INF/lib/ant.jarとなる -->
		<!--	<lib dir="C:\eclipse3\plugins\org.apache.ant_1.6.5\lib" /> ←lib直下のjarファイル全て -->
		</war>
	</target>
</project>

webxml属性web.xmlファイルを指定するが、このファイル名や場所は何でもよい。自動的に「web.xml」という名前に変換してWEB-INF直下にコピーしてくれる。
そして、「WEB-INF/web.xml」というファイルがwarタスクのボディーのfilesetでの指定に別途含まれていてはダメ(タスク実行時に警告となる)。したがって念の為「<exclude name="**/web.xml" />」を入れておくとよい。


Ant目次へ戻る / 技術メモへ戻る / warファイルのページへ行く
メールの送信先:ひしだま