下面的xml是ant 的构建脚本, 功能包括: 编译,部署到tomcat, 启动tomcat,停止tomcat, 重新载入。 使用前必须安装 jdk 和 ant , 然后运行ant init,初始化工程目录, 就可以进行开发了。(题外话:在这个ide工具傻瓜式开发的时代里,ant依旧显示它的优秀之处,它能完成比ide更灵活的任务, 从设计的角度说,操作越复杂的工具应是是越灵活滴 ^_^
<?xml version="1.0" encoding="UTF-8"?>
<project name="zkProject" default="compile" basedir=".">
<property name="webapp.name" value="zkproject"/>
<property name="catalina.home" value="D:\Program Files\apache-tomcat-6.0.16"/>
<property name="src.dir" value="${basedir}/WEB-INF/src"/>
<property name="lib.dir" value="${basedir}/WEB-INF/lib"/>
<property name="class.dir" value="${basedir}/WEB-INF/classes"/>
<property name="webapps.dir" value="${catalina.home}/webapps"/>
<property name="ui.dir" value="ui"/>
<!-- **********************************set classpath********************************** -->
<path id="compile.classpath">
<fileset dir="${catalina.home}/lib">
<include name="*.jar"/>
</fileset>
<fileset dir="${lib.dir}">
<include name="*.jar"/>
</fileset>
</path>
<!-- **********************************init********************************** -->
<target name="init">
<mkdir dir="${src.dir}"/>
<mkdir dir="${lib.dir}"/>
<mkdir dir="${ui.dir}"/>
</target>
<!-- **********************************clean class********************************** -->
<target name="clean" description="Delete old build and dist directories">
<delete dir="${class.dir}" includes="**/*.class"/>
</target>
<!-- **********************************compile java********************************** -->
<target name="compile" description="Compile Java sources" depends="clean">
<mkdir dir="${class.dir}"/>
<javac srcdir="${src.dir}"
destdir="${class.dir}">
<classpath refid="compile.classpath"/>
</javac>
<copy todir="${class.dir}">
<fileset dir="${src.dir}" excludes="**/*.java"/>
</copy>
</target>
<!-- **********************************deploy webapp********************************** -->
<target name="deploy" description="Install application to servlet container" depends="compile">
<delete dir="${webapps.dir}/${webapp.name}"/>
<war destfile="${webapps.dir}/${webapp.name}.war" webxml="${basedir}/WEB-INF/web.xml">
<fileset dir="ui"/>
<lib dir="${lib.dir}"/>
<classes dir="${class.dir}"/>
</war>
</target>
<!-- **********************************start web server********************************** -->
<target name="startserver" description="Start web server" >
<exec dir="${catalina.home}/bin" executable="cmd.exe">
<env key="CATALINA_HOME" path="${catalina.home}"/>
<arg value="/c startup.bat"/>
</exec>
</target>
<!-- **********************************stop web server********************************** -->
<target name="stopserver" description="Stop web server" >
<exec dir="${catalina.home}/bin" executable="cmd.exe">
<env key="CATALINA_HOME" path="${catalina.home}"/>
<arg value="/c shutdown.bat"/>
</exec>
</target>
<!-- **********************************start work********************************** -->
<target name="start" description="Clean build and dist directories, then compile">
<ant target="deploy"/>
<ant target="startserver"/>
</target>
<!-- **********************************reload web server********************************** -->
<target name="reload" description="reload web server">
<ant target="stopserver"></ant>
<sleep seconds="2"></sleep>
<ant target="start"></ant>
</target>
</project>