直接上build.xml
<?xml version="1.0" encoding="UTF-8" ?>
<project name="t0pos" default="generwar" basedir=".">
<property name="build" value="${basedir}/build" />
<property name="build.class" value="${build}/classes" />
<property name="src" value="${basedir}/src" />
<property name="resources" value="${basedir}/resources" />
<property name="webApp" value="${basedir}/WebRoot" />
<property name="lib" value="${webApp}/WEB-INF/lib" />
<!--请将下面的路径改为你本地的路径-->
<!-- <property name="webserver" value="../tomcat-5.5.27\webapps" /> -->
<!--定义CLASSPACH,编译时用到你外部加入的包-->
<path id="classpath">
<pathelement location="${src}" />
<fileset dir="${lib}" includes="***.jar" />
</path>
<!--删除任务-->
<target name="clean" description="删除">
<echo message="删除目录" />
<delete dir="${build}" />
</target>
<!--创建一个临时目录-->
<target name="init" description="创建目录" depends="clean">
<echo message="创建目录--以执行" />
<mkdir dir="${build.class}" />
<copy todir="${build.class}">
<fileset dir="${resources}">
<include name="**" />
</fileset>
</copy>
</target>
<!--编译java源文件-->
<target name="compile" description="编译文件" depends="init">
<echo message="编译文件" />
<javac srcdir="src" destdir="${build.class}" includeAntRuntime="false">
<classpath refid="classpath" />
<compilerarg line="-encoding UTF-8 " />
</javac>
</target>
<!--打成WAR包-->
<target name="generwar" depends="compile">
<echo message="打成WAR" />
<war destfile="${build}/${ant.project.name}.war" webxml="${webApp}/WEB-INF/web.xml">
<fileset dir="WebRoot">
</fileset>
<lib dir="${lib}" />
<classes dir="${build.class}" />
</war>
</target>
<!--把WAR放到一个指定目录,这里是直接布署到TOMCAT服务器-->
<!-- <target name="fabu" depends="generwar" description="发布">
<copy file="${build}/${ant.project.name}.war" todir="${webserver}">
</copy>
</target> -->
<!--把打好的WAR删除-->
<!-- <target name="deleteWar" depends="fabu" description="删除服务器上的war">
<delete dir="${build}" />
</target> -->
</project>
这是项目结构
需要注意的是resources里的资源无法编译到classes中只能复制