eclipseで特定ファイルを除外してwarを作成する(antを利用)

warファイルを作成するにあたって、プロジェクト内のライブラリやgitのリポジトリも一緒にまとめてしまうので、必要以上にサイズが大きくなっていたのでapache-antを使って特定ファイルを除外してwarを作成する方法を調べた。

1.apache-antのインストール

http://ant.apache.org/にアクセスし、zip版をダウンロードする。
ダウンロードしたら任意のフォルダ(今回はProgram Files内)に展開する。
以下の環境変数を追加する。
ANT_HOME C:\Program Files\apache-ant-1.9.4
PATH C:\Program Files\apache-ant-1.9.4\bin

C:\> ant -version
Apache Ant(TM) version 1.9.4 compiled on April 29 2014

上記のようになればインストール成功

2.build.xmlの作成

プロジェクト直下に以下の内容のbuild.xmlを作成する。
このとき、のように、除外したいファイル・フォルダを指定する。

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
              	
		 <project basedir="." default="dist" name="">

              	  <!-- warファイルの設定 -->
              	  <property name="war.home" value="." />
              	  <property name="web-app.name" value="appName" />

              	  <!-- jarタスクによってwarファイルを作成 -->
              	  <target name="dist" >
              	    <war destfile="${war.home}/${web-app.name}.war"
              	           webxml="${war.home}/WEB-INF/web.xml">
              	      <fileset dir="${war.home}" excludes="**/web.xml,**/WEB-INF/lib/**,${web-app.name}.war" />
              	    </war>
              	  </target>
</project>

3.warファイルの作成

eclipse内で、build.xmlを右クリック → 実行 → Antビルド
コンソール上で

BUILD SUCCESSFUL
Total time: 985 milliseconds

のような表記が出れば、成功。
warファイルがプロジェクト内直下に作成されている。

参考: