Ant通過調用target樹,就可以執行各種task。每個task實現了特定接口對象。build.xml就是Ant構建文件,它的格式是XML。
1. 每個構建文件build.xml對應一個項目project
2. 構建文件之間的target可以有依賴關係
build.xml結構簡介
父節點Project標籤
(1) default表示默認的運行目標,這個屬性是必須的。
(2) basedir表示項目的基準目錄。
(3) name表示項目名。
(4) description表示項目的描述。
(1).name表示標明,這個屬性是必須的。
(2).depends表示依賴的目標。
(3)if表示僅當屬性設置時才執行。
(4)unless表示當屬性沒有設置時才執行。
(5)description表示項目的描述
(1).srcdir表示源程序的目錄。
(2).destdir表示class文件的輸出目錄。
(3).include表示被編譯的文件的模式。
(4).excludes表示被排除的文件的模式。
(5).classpath表示所使用的類路徑。
(6).debug表示包含的調試信息。
(7).optimize表示是否使用優化。
(8).verbose 表示提供詳細的輸出信息。
(9).fileonerror表示當碰到錯誤就自動停止。
(1).classname 表示將執行的類名。
(2).jar表示包含該類的JAR文件名。
(3).classpath所表示用到的類路徑。
(4).fork表示在一個新的虛擬機中運行該類。
(5).failonerror表示當出現錯誤時自動停止。
(6).output 表示輸出文件。
(7).append表示追加或者覆蓋默認文件。
sysproperty in build.xml
<sysproperty key=caseCount value=${caseCount}><====> ant -DcaseCount=100 <======> System.getProperty("caseCount") in JAVA
<?xml version="1.0" encoding="UTF-8" ?> <project name="HelloWorld" default="run" basedir="."> <property name="src" value="src" /> <property name="classes" value="classes"/> <target name="init" > <mkdir dir="${classes}"/> </target> <target name="compile" depends="init"> <echo>compiling java files </echo> <javac srcdir="${src}" destdir="${classes}" encoding="UTF-8" /> </target> <target name="run" depends="compile"> <java classname="helloWorld" classpath="${classes}" /> </target> </project>