原文:http://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://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://www.tutorialspoint.com/ant/ant_introduction.htm