app.home-----------+ --Web应用项目的顶层目录
+----build ---存放由Ant工具生成的web应用的开放目录结构
+----deploy ---存放由Ant工具生成的web应用的WAR文件
+----doc ---存放由Ant工具生成的JavaDoc文件
+----lib ---存放所有的Jar文件
+----classes --存放由Ant编译生成的.class文件
+----src ----存放Java源文件和属性文件
+----webRoot(或者是web) ---存放web应用的jsp,html 和 图片 以及css和js文件
|
|
+----web_INF ----存放web.xml,struts.xml,和TLD文件等
<project name ="HelloApp" default="help" basedir=".">
<!-- ===============property定义=============== -->
<property file="build.properties"/>
<property file="app.home" value="."/>
<property file="app.name" value="HelloApp"/>
<property file="javadoc.pkg.top" value="hello"/>
<property file="src.home" value="${app.home}/src"/>
<property file="lib.home" value="${app.home}/lib"/>
<property file="classes.home" value="${app.home}/classes"/>
<property file="deploy.home" value="${app.home}/deploy"/>
<property file="doc.home" value="${app.home}/doc"/>
<property file="web.home" value="${app.home}/web"/>
<property file="build.home" value="${app.home}/build"/>
<property file="build.classes" value="${build.home}/WEB-INF/classes"/>
<property file="build.lib" value="${build.home}/WEB-INF/lib"/>
<!-- ===============编译路径compilation classpath=============== -->
<path id="compile.classpath">
<pathelement location="${classes.home}"/>
<fileset dir="${lib.home}">
<include name="*.jar">
<include name="*.zip">
</fileset>
<fileset dir="${tomcat.home}/common/lib">
<include name="*.jar">
</fileset>
<pathelement location="${tomcat.home}/common/lib"/>
</path>
<!-- ==============="clean-all" Target=============== -->
<target name="clean-all">
<delete dir="${build.home}"/>
<delete dir="${classes.home}"/>
<delete dir="${deploy.home}"/>
<!-- 如果tomcat running,是不能delete的 -->
<delete dir="${webapps.home}/${app.name}" failοnerrοr="false"/>
<!-- 如果tomcat running,是不能delete的 -->
<delete dir="${webapps.home}/${app.name}.war"/>
<delete dir="${doc.home}"/>
</target>
<!-- ==============="prepare" Target=============== -->
<target name="prepare">
<mkdir dir="${classes.home}"/>
<mkdir dir="${deploy.home}"/>
<mkdir dir="${doc.home}"/>
<mkdir dir="${doc.home}/api"/>
<mkdir dir="${build.home}/WEB-INF"/>
<mkdir dir="${build.home}/WEB-INF/classes"/>
<mkdir dir="${build.home}/WEB-INF/lib"/>
</target>
<!-- ==============="compile" Target=============== -->
<target name="compile" depends="prepare">
<javac srcdir="${src.home}" destdir="${classes.home}" debug="yes"/>
<classpath refid="compile.classpath"/>
</javac>
</target>
<!-- ==============="build" Target=============== -->
<target name="build" depends="compile">
<!-- 拷贝webapp content下的jsp,html,tld,xml等,也会拷贝META-INF目录的 -->
<copy todir="${build.home}">
<fileset dir="${web.home}"/>
</copy>
<!-- 现在开始拷贝所有的java class文件 -->
<copy todir="${build.home}/WEB-INF/classes"/>
<fileset dir="${classes.home}"/>
</copy>
<!-- 现在开始拷贝src下的所有配置文件 -->
<copy todir="${build.home}/WEB-INF/classes">
<fileset dir="${src.home}"/>
<include name="**/*.properties"/>
<include name="**/*.prop"/>
</fileset>
</copy>
<!-- 现在开始拷贝所有的jar配置文件 -->
<copy todir="${build.home}/WEB-INF/lib">
<fileset dir="${lib.home}"/>
</copy>
<!-- 现在开始打包成war包 -->
<jar jarfile="${deploy.home}/${app.name}.war" basedir="${build.home}"/>
</target>
<!-- ==============="deploy" Target=============== -->
<target name="deploy" depends="build">
<copy todir="${webapp.home}" file="${deploy.home}/${app.name}.war"/>
</target>
<!-- ==============="doc" Target=============== -->
<target name="javadoc" depends="compile">
<javadoc sourcepath="${src.home}"
destdir="${doc.home}"
packagenames="${javadoc.pkg.top}.*"/>
</target>
</project>