任務是一段可以執行的程式碼。 任務可以具有多個屬性,每個任務都具有共同的結構。 常見結構由任務名稱,屬性等組成。請參閱下面的範例。
任務組態結構可包括:
<task-name attribute1 = "value1" attribute2 = "value2" ... >
...
</task-name>
Apache Ant任務分為兩類:
Apache Ant本身在其庫中提供的任務稱為內建任務。 Apache ant提供了大量內建任務,可用於執行區分任務。 如下列表所示:
……
用於壓縮和解壓縮資料的任務稱為歸檔任務。下面列出了一些常見的內建存檔任務。
任務名稱 | 描述 |
---|---|
Ear | Jar任務的擴充套件,對檔案進行特殊處理 |
Jar | 一組檔案 |
Tar | 建立tar存檔 |
Unjar | 解壓縮jar檔案 |
Untar | 解壓tarfile |
Unwar | 解壓縮warfile |
Unzip | 解壓縮zip檔案 |
War | Jar任務的擴充套件 |
任務名稱 | 描述 |
---|---|
JDepend | 它用於呼叫JDepend解析器 |
用於編譯原始檔的任務稱為編譯任務,下面列出了一些常見的內建編譯任務。
任務名稱 | 描述 |
---|---|
Depend | 確定哪些類檔案的資源已過期 |
Javac | 編譯原始檔 |
JspC | 執行JSP編譯器 |
NetRexxC | 編譯NetRexx原始檔 |
Rmic | 執行rmic編譯器 |
用於執行執行應用程式的任務稱為執行任務。下面列出了一些常見的內建執行任務。
任務名稱 | 描述 |
---|---|
Ant | 在指定的構建檔案上執行Ant |
AntCall | 在同一個構建檔案中執行另一個目標 |
Apply | 執行系統命令 |
Java | 執行Java類 |
Parallel | 可包含其他ant任務的容器任務 |
Sleep | 按指定的時間暫停執行 |
與控制代碼檔案操作相關的任務稱為檔案任務。下面列出了一些常見的內建檔案任務。
任務名稱 | 描述 |
---|---|
Chmod | 更改檔案的許可權 |
Chown | 更改檔案的所有權 |
Concat | 連線多個檔案 |
Copy | 將檔案複製到新目的地 |
Delete | 刪除檔案 |
Mkdir | 建立一個目錄 |
連線單個檔案,如果目標檔案存在則附加。如下範例:
<concat destfile="NOTES" append="true">
<filelist dir="notes" files="note.txt"/>
</concat>
要使用任務,首先需要使用<project>
標籤建立專案。 之後,建立一個目標,使用<target>
標記對任務進行分組。 然後可以通過將任務放在目標標記內來執行任務。看一個例子,這裡使用<java>
標籤建立Java任務。
<project name="java-ant project" default="run">
<target name="run" depends="compile">
<java classname = "com.yiibai.Hello">
<classpath path="test"></classpath>
</java>
</target>
</project>
Apache Ant允許使用者編寫自己的任務。編寫自己的任務非常容易。 下面給出了一些必要的步驟。請參考以下幾個步驟。
org.apache.tools.ant.Task
類。setter
和getter
方法。task
包含其他任務作為巢狀元素,則class
必須實現org.apache.tools.ant.TaskContainer
介面。public void addText(String)
方法。write
,add
或addConfigured
方法。public void execute()
方法(不帶引數)並丟擲BuildException
。