以下是Ant 的配置文档build.xml,位置在工程的根目录下,运行时,选择war目标,即可生成war包
<?xml version="1.0" encoding="utf-8"?>
<!--================定义根basedir,根路径=================-->
<project name="iams" basedir=".">
<!--=================定义build目录=======================-->
<property name="build.base.dir" value="${basedir}/build" />
<property name="build.web.dir" value="${build.base}/WEB-INF" />
<property name="build.class.dir" value="${build.web.dir}/classes" />
<property name="build.lib.dir" value="${build.web.dir}/lib" />
<!--===============定义webapp的相关路径===================-->
<property name="app.src.dir" value="${basedir}/src" />
<property name="app.web.dir" value="${basedir}/WebRoot" />
<property name="app.lib.dir" value="${app.web.dir}/WEB-INF/lib" />
<!--================定义打包后的目标路径=======================-->
<property name="war.target.dir" value="${basedir}/target" />
<!--======================定义包路径========================-->
<fileset id="jars.file" dir="${app.lib.dir}">
<!--第三方包不在WEB/lib根目录下,定义该属性将jar包含进来,eg:<include name="log/*.jar" />,表示将WEB-INF/lib/log目录的jar包进来 -->
<include name="*.jar" />
</fileset>
<!--==============定义clean目标:清理build临时文件夹=============-->
<target name="clean" description="clean build">
<echo message="清理build文件夹" />
<delete dir="${build.base.dir}" />
</target>
<!--===========定义init目标:创建build临时文件夹===============-->
<target name="init" description="create directory" depends="clean">
<echo message="初始化:创建build相关目录" />
<mkdir dir="${build.base.dir}" />
<mkdir dir="${build.web.dir}" />
<mkdir dir="${build.src.dir}" />
<mkdir dir="${build.lib.dir}" />
<mkdir dir="${target.dir}" />
</target>
<!--==============定义compile目标:编译工程源代码===============-->
<target name="compile" description="compile app" depends="init" >
<echo message="编译源代码" / >
<javac srcdir="${app.src.dir}" destdir="${build.class.dir}" debug="on" >
<!--设置编码:也可在<javac> 中添加属性encoding="uft-8"-->
<compilerarg line="-encoding UTF-8"/>
<classpath>
<fileset refid="basic.jars.file" />
</classpath>
</javac>
<!--复制classpath中的配置文件-->
<copy todir="${build.class.dir}">
<fileset dir="${src}" excludes="**/*.java"/>
</copy>
<!--复制/WEB-INF/lib下的jar包文件-->
<copy todir="${build.lib.dir}">
<fileset refid="jars.file" />
</copy>
<!--复制WebRoot下的文件-->
<copy todir="${build.base.dir}">
<fileset dir="${app.web.dir}"/>
</copy>
</target>
<!--==================== 定义war目标:打war包=================-->
<target name="war" description="war" depends="compile,clean">
<echo message="生成war包"/>
<war destfile="${war.target.dir}/${ant.project.name}.war" basedir="${build.base.dir}">
</war>
</target>
</project>