下面的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>