◎Ant的使用 - 常用任務標簽(一)
建立一個基本的程序通常有幾個常用的任務,像是設置通用屬性、創建或刪除目錄、編譯程序、打包、拷貝文件等等。
這些任務,我們都可以在build.xml中編寫相應的任務目標[target]
■ 屬性設定:<property>
如果一個固定的值(如:目錄D:\dev\lib),在多個target中被應用到,這時我們就通過<property>對它設定,應用到它的地方都使用設定的<property>代替,如果日后有發生變化,也只需要改動<property>的設定即可
<target name="defProperty" description="設定屬性">
<property name="tomcat.home" value="C:/jakarta-tomcat" />
<property name="app.home" value="." />
<property name="src.home" value="${app.home}/src"/>
<property name="lib.home" value="${app.home}/WEB-INF/lib"/>
<property name="classes.home" value="${app.home}/WEB-INF/classes"/>
</target>
<property name="tomcat.home" value="C:/jakarta-tomcat" />
<property name="app.home" value="." />
<property name="src.home" value="${app.home}/src"/>
<property name="lib.home" value="${app.home}/WEB-INF/lib"/>
<property name="classes.home" value="${app.home}/WEB-INF/classes"/>
</target>
每個property都有一個name(名稱)和一個value(值),要引用某個property可以使用${property-name},像上面的${app.home}。
這些屬性的值也可以在執行的時候指定,如:ant -Dapp.home="d:\dev\book",如果執行時沒有指定,那么就會使用value上定義的值。
■ 創建目錄:<mkdir>




■ 創建目錄和文件:<delete>














■ 拷貝文件和目錄:<copy>
<target name="copyFileAndDir" description="拷貝文件和目錄">
<!-- 拷貝單個文件 -->
<copy file="error.log" tofile="debug.log"/>
<!-- 拷貝單個文件到指定目錄 -->
<copy file="error.log" todir="${LOG.DIR}"/>
<!-- 拷貝多個文件到指定目錄 -->
<copy todir="${LOG.DIR}">
<fileset dir="log">
<include name="**/*.log"/>
<exclude name="**/error.log"/>
</fileset>
</copy>
<!-- 同上 -->
<!--
<copy todir="${LOG.DIR}">
<fileset dir="log" excludes="**/*.txt"/>
</copy>
-->
<!-- 拷貝一個目錄到另一個目錄 -->
<copy todir="newbin">
<fileset dir="bin"/>
</copy>
</target>
<!-- 拷貝單個文件 -->
<copy file="error.log" tofile="debug.log"/>
<!-- 拷貝單個文件到指定目錄 -->
<copy file="error.log" todir="${LOG.DIR}"/>
<!-- 拷貝多個文件到指定目錄 -->
<copy todir="${LOG.DIR}">
<fileset dir="log">
<include name="**/*.log"/>
<exclude name="**/error.log"/>
</fileset>
</copy>
<!-- 同上 -->
<!--
<copy todir="${LOG.DIR}">
<fileset dir="log" excludes="**/*.txt"/>
</copy>
-->
<!-- 拷貝一個目錄到另一個目錄 -->
<copy todir="newbin">
<fileset dir="bin"/>
</copy>
</target>
■ 移動或重命名文件、目錄:<move>
<target name="moveFileAndDir" description="移動或重命名文件和目錄">
<!-- 移動或重命名一個文件 -->
<move file="error.log" tofile="debug.log"/>
<!-- 移動或重命名一個文件到另一個目錄下 -->
<move file="error.log" todir="new/log"/>
<!-- 將目錄移到另一個目錄下 -->
<move todir="new/log">
<fileset dir="log"/>
</move>
<!-- 一組文件移到另一個目錄下 -->
<move todir="new/log">
<fileset dir="log">
<include name="**/*.log"/>
<exclude name="**/error.log"/>
</fileset>
</move>
</target>
<!-- 移動或重命名一個文件 -->
<move file="error.log" tofile="debug.log"/>
<!-- 移動或重命名一個文件到另一個目錄下 -->
<move file="error.log" todir="new/log"/>
<!-- 將目錄移到另一個目錄下 -->
<move todir="new/log">
<fileset dir="log"/>
</move>
<!-- 一組文件移到另一個目錄下 -->
<move todir="new/log">
<fileset dir="log">
<include name="**/*.log"/>
<exclude name="**/error.log"/>
</fileset>
</move>
</target>