下面的xml是ant 的构建脚本, 功能包括: 编译,部署到tomcat, 启动tomcat,停止tomcat, 重新载入。 使用前必须安装 jdk 和 ant , 然后运行ant init,初始化工程目录, 就可以进行开发了。(题外话:在这个ide工具傻瓜式开发的时代里,ant依旧显示它的优秀之处,它能完成比ide更灵活的任务, 从设计的角度说,操作越复杂的工具应是是越灵活滴 ^_^
Java代码 <?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>