寫的第一個ant完整實例,可以正常運行,但還有些地方不太明白。
<!-- name:對應工程的名字;default:需要的缺省任務(運行"ant"不指明任務時執行的任務) -->
<project name="ZZ" default="dist" basedir=".">
<!-- 建立目錄結構
src JAVA源碼編輯目錄
lib jar包(類庫)存放目錄
classes 編譯生成的class文件存放目錄
WebRoot jsp文件存放地方
-->
<property name="src.dir" value="src"/>
<property name="webapps.dir" value="D:/Tomcat6.0/webapps/ZZ"/>
<property name="lib.dir" value="${webapps.dir}/WEB-INF/lib"/>
<property name="classes.dir" value="${webapps.dir}/WEB-INF/classes"/>
<property name="webroot.dir" value="WebRoot"/>
<!-- Compilation Classpath 路徑設置 -->
<path id="compile.classpath">
<pathelement location="${classes.dir}"/>
<fileset dir="${webroot.dir}/WEB-INF/lib" includes="**/*.jar"/>
</path>
<!-- Clean Target 刪除tomcat的目錄結構 -->
<target name="clean" description="Delete old build and dist directories">
<delete dir="${webapps.dir}"/>
</target>
<!-- Prepare Target 建立打包的目的目錄結構 -->
<target name="prepare">
<mkdir dir="${classes.dir}"/>
<mkdir dir="${lib.dir}"/>
</target>
<!-- Compile Target 編譯代碼,在這之前先由prepare建立目錄結構 -->
<target name="compile" depends="prepare" description="Compile java sources">
<!--不知道爲什麼不能刪除copy部分,刪除就不能成功編譯類文件,難道我設置的path沒有一點作用嗎?-->
<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%-->
<copy todir="${webapps.dir}">
<fileset dir="${webroot.dir}">
<include name="**/**"/>
</fileset>
</copy>
<copy todir="${lib.dir}">
<fileset dir="${webroot.dir}/WEB-INF/lib">
<include name="**/*.jar"/>
</fileset>
</copy>
<copy todir="${classes.dir}">
<fileset dir="${src.dir}">
<include name="**/*.xml"/>
<include name="**/*.properties" />
</fileset>
</copy>
<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%-->
<!-- Compile java class as necessary -->
<javac srcdir="${src.dir}" destdir="${classes.dir}" debug="true">
<!--@@@@@@@@@@@@@@@ 引用的path沒有發揮作用 @@@@@@@@@@@@@@@@@-->
<classpath refid="compile.classpath"/>
<!--@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@-->
</javac>
</target>
<!-- Deploy Target 在tomcat下建立應用目錄並部署應用 -->
<target name="deploy" depends="compile" description="Deploy application to servlet container">
<!-- Copy the contents of the build directory -->
<copy todir="${webapps.dir}">
<fileset dir="${webroot.dir}">
<include name="**/**"/>
</fileset>
</copy>
<copy todir="${lib.dir}">
<fileset dir="${webroot.dir}/WEB-INF/lib">
<include name="**/*.jar"/>
</fileset>
</copy>
<copy todir="${classes.dir}">
<fileset dir="${src.dir}">
<include name="**/*.xml"/>
<include name="**/*.properties" />
</fileset>
</copy>
</target>
<!-- Dist Target 將應用打包成war,在這之前先執行deploy -->
<target name="dist" depends="clean,deploy" description="Create binary destribution">
<jar jarfile="ZZ.war" basedir="${webapps.dir}"/>
</target>
</project>