原文簡單易懂,且內容不多,推薦直接看英文,這裏只是簡單翻譯一下,做為以後參考所用。
http://go.rritw.com/www.dzone.com/tutorials/java/ant/ant-sample-build-file-war-1.html
在這個示例裏我使用Spring SimpleFormController 的例子來配合講解war構建過程,下圖所示是該應用的結構。
src裡面的所有類需要編譯並且放在build/classes目錄下,要構建的war包需要放在dist目錄。
所以,第一步,創建build/classes和dist目錄,用init來負責完成這些工作:
<target name="init">
<mkdir dir="build/classes"/>
<mkdir dir="dist" />
</target>
接下來編譯src目錄的類到build/classes目錄,編譯之前首先要設置好classpath,如下所示:
<path id="compile.classpath">
<fileset dir="WebContent/WEB-INF/lib">
<include name="*.jar"/>
</fileset>
</path>
接下來用javac命令進行編譯。編譯時要保證相關目錄已創建好,所以,編譯的工作依賴於init,如下所示:
<target name="compile" depends="init" >
<javac destdir="build/classes" debug="true" srcdir="src">
<classpath refid="compile.classpath"/>
</javac>
</target>
接下來就可以打war包,可以用ant提供的war命令完成這部分工作:
<target name="war" depends="compile">
<war destfile="dist/AntExample.war" webxml="WebContent/WEB-INF/web.xml">
<fileset dir="WebContent"/>
<lib dir="WebContent/WEB-INF/lib"/>
<classes dir="build/classes"/>
</war>
</target>
war命令的詳細參考:
http://go.rritw.com/ant.apache.org/manual/Tasks/war.html
最後,可能需要做一些清理工作,如:
<target name="clean">
<delete dir="dist" />
<delete dir="build" />
</target>
以下是完整的構建腳本:
<?xml version="1.0" ?>
<project name="AntExample1" default="war">
<path id="compile.classpath">
<fileset dir="WebContent/WEB-INF/lib">
<include name="*.jar"/>
</fileset>
</path>
<target name="init">
<mkdir dir="build/classes"/>
<mkdir dir="dist" />
</target>
<target name="compile" depends="init" >
<javac destdir="build/classes" debug="true" srcdir="src">
<classpath refid="compile.classpath"/>
</javac>
</target>
<target name="war" depends="compile">
<war destfile="dist/AntExample.war" webxml="WebContent/WEB-INF/web.xml">
<fileset dir="WebContent"/>
<lib dir="WebContent/WEB-INF/lib"/>
<classes dir="build/classes"/>
</war>
</target>
<target name="clean">
<delete dir="dist" />
<delete dir="build" />
</target>
</project>
再附上一些Ant相關的連結,同樣通俗易懂,推薦閱讀一下:
http://go.rritw.com/www.tutorialspoint.com/ant/ant_introduction.htm