<?xml version="1.0"?> <project name="PRO_NAME" default="all" basedir="."> <property name="src.dir" value="src" /> <property name="classes.dir" value="WEB-INF/classes" /> <property name="lib.dir" value="WEB-INF/lib" /> <!--用于输出打包的文件夹--> <property name="temp.dir" value="${java.io.tmpdir}/${ant.project.name}" /> <property name="target.dir" value="target" /> <!-- 定义classpath --> <path id="master-classpath"> <fileset file="${lib.dir}/*.jar" /> <pathelement path="${classes.dir}" /> </path> <target name="clean"> <delete dir="${classes.dir}" /> <delete dir="${temp.dir}" /> <delete file="${target.dir}/${ant.project.name}.jar"/> <delete file="${target.dir}/${ant.project.name}.war"/> <delete dir="${target.dir}" /> </target> <!-- 初始化任务 --> <target name="init" depends="clean"> <mkdir dir="${target.dir}" /> <mkdir dir="${temp.dir}" /> <mkdir dir="${classes.dir}" /> </target> <!-- 编译 --> <target name="compile" depends="init" description="compile the source files"> <javac srcdir="${src.dir}" destdir="${classes.dir}" debug="true" encoding="GB2312"> <classpath refid="master-classpath" /> </javac> <copy todir="${classes.dir}" overwrite="true"> <fileset dir="${src.dir}"> <include name="**/*.xml" /> <include name="**/*.properties" /> </fileset> </copy> </target> <!--打jar包--> <target name="jar" depends="compile"> <jar jarfile="${target.dir}/${ant.project.name}.jar"> <fileset dir="${classes.dir}"> <include name="**/*" /> </fileset> </jar> </target> <target name="preWar" depends="jar"> <copy todir="${temp.dir}/WEB-INF/lib" overwrite="true"> <fileset dir="${target.dir}"> <include name="${ant.project.name}.jar"/> </fileset> </copy> <copy todir="${temp.dir}" overwrite="true"> <fileset dir="${basedir}"> <include name="${lib.dir}/*.jar" /> <include name="index.html" /> <include name="page/**/*.*" /> <include name="WEB-INF/*.xml" /> </fileset> </copy> </target> <!--打war包--> <target name="war" depends="preWar"> <jar jarfile="${target.dir}/${ant.project.name}.war"> <fileset dir="${temp.dir}"> <include name="**/*.*"/> </fileset> </jar> </target> <target name="all" depends="war"> <delete dir="${temp.dir}"/> </target> </project>