古詩詞大全網 - 成語用法 - ant build.xml文件怎麽來的

ant build.xml文件怎麽來的

Build.XML中的標簽

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表示制定是否顯示詳細信息,默認值不顯示。