1.<project>標簽
每個構建文件對應壹個項目。<project>標簽時構建文件的根標簽。它可以有多個內在屬性,
就如代碼中所示,其各個屬性的含義分別如下。
(1) default表示默認的運行目標,這個屬性是必須的。
(2) basedir表示項目的基準目錄。
(3) name表示項目名。
(4) description表示項目的描述。
每個構建文件都對應於壹個項目,但是大型項目經常包含大量的子項目,每壹個子項目都可以有自己的構建文件。
2.<target>標簽
壹個項目標簽下可以有壹個或多個target標簽。壹個target標簽可以依賴其他的target標簽。例如,有壹個target用於編譯程序,另壹個target用於聲稱可執行文件。在生成可執行文件之前必須先編譯該文件,因此可執行文件的target依賴於編譯程序的target。
Target的所有屬性如下。
(1).name表示目標名,這個屬性是必須的。
(2).depends表示依賴的目標名。
(3)if表示僅當屬性設置時才執行。
(4)unless表示當屬性沒有設置時才執行。
(5)description表示項目的描述。
Ant的depends屬性指定了target的執行順序。Ant會依照depends屬性中target出現順序依次執行每個target。在執行之前,首先需要執行它所依賴的target。程序中的名為run的target的depends屬性compile,而名為compile的target的depends屬性是prepare,所以這幾個target執行的順序是prepare->compile->run。
壹個target只能被執行壹次,即使有多個target依賴於它。如果沒有if或unless屬性,target總會被執行。
3.<mkdir>標簽
該標簽用於創建壹個目錄,它有壹個屬性dir用來指定所創建的目錄名,其代碼如下:
<mkdir dir=”${class.root}”/>
通過以上代碼就創建了壹個目錄,這個目錄已經被前面的property標簽所指定。
4<jar>標簽
該標簽用來生成壹個JAR文件,其屬性如下。
(1) destfile表示JAR文件名。
(2) basedir表示被歸檔的文件名。
(3) includes表示被歸檔的文件模式。
(4) exchudes表示被排除的文件模式。
5.<javac標簽>
該標簽用於編譯壹個或壹組java文件,其屬性如下。
(1).srcdir表示源程序的目錄。
(2).destdir表示class文件的輸出目錄。
(3).include表示被編譯的文件的模式。
(4).excludes表示被排除的文件的模式。
(5).classpath表示所使用的類路徑。
(6).debug表示包含的調試信息。
(7).optimize表示是否使用優化。
(8).verbose表示提供詳細的輸出信息。
(9).fileonerror表示當碰到錯誤就自動停止。
6.<java>標簽
該標簽用來執行編譯生成的.class文件,其屬性如下。
(1).classname表示將執行的類名。
(2).jar表示包含該類的JAR文件名。
(3).classpath所用到的類路徑。
(4).fork表示在壹個新的虛擬機中運行該類。
(5).failonerror表示當出現錯誤時自動停止。
(6).output表示輸出文件。
(7).append表示追加或者覆蓋默認文件。
7.<delete>標簽
該標簽用於刪除壹個文件或壹組文件,屬性如下。
(1)/file表示要刪除的文件。
(2).dir表示要刪除的目錄。
(3).includeEmptyDirs表示指定是否要刪除空目錄,默認值是刪除。
(4).failonerror表示指定當碰到錯誤是否停止,默認值是自動停止。
(5).verbose表示指定是否列出所刪除的文件,默認值為不列出。
8.<copy>標簽
該標簽用於文件或文件集的拷貝,其屬性如下。
(1).file表示源文件。
(2).tofile表示目標文件。
(3).todir表示目標目錄。
(4).overwrite表示指定是否覆蓋目標文件,默認值是不覆蓋。
(5).includeEmptyDirs表示制定是否拷貝空目錄,默認值為拷貝。
(6).failonerror表示指定如目標沒有發現是否自動停止,默認值是停止。
(7).verbose表示制定是否顯示詳細信息,默認值不顯示。