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