任務是一段可以執行的代碼。 任務可以具有多個屬性,每個任務都具有共同的結構。 常見結構由任務名稱,屬性等組成。請參閱下麵的示例。
1. 任務結構
任務配置結構可包括:
<task-name attribute1 = "value1" attribute2 = "value2" ... >
...
</task-name>
Apache Ant任務分為兩類:
- 內置任務
- 用戶定義的任務
2. Apache Ant預定義(內置)任務
Apache Ant本身在其庫中提供的任務稱為內置任務。 Apache ant提供了大量內置任務,可用於執行區分任務。 如下列表所示:
- 存檔任務
- 審計任務
- 編譯任務
- 執行任務
- 檔任務
- 記錄任務
- 郵件任務
……
2.1. 存檔任務
用於壓縮和解壓縮數據的任務稱為歸檔任務。下麵列出了一些常見的內置存檔任務。
任務名稱 | 描述 |
---|---|
Ear | Jar任務的擴展,對檔進行特殊處理 |
Jar | 一組檔 |
Tar | 創建tar存檔 |
Unjar | 解壓縮jar檔 |
Untar | 解壓tarfile |
Unwar | 解壓縮warfile |
Unzip | 解壓縮zip檔 |
War | Jar任務的擴展 |
2.2. 審計任務
任務名稱 | 描述 |
---|---|
JDepend | 它用於調用JDepend解析器 |
2.3. 編譯任務
用於編譯原始檔案的任務稱為編譯任務,下麵列出了一些常見的內置編譯任務。
任務名稱 | 描述 |
---|---|
Depend | 確定哪些類檔的資源已過期 |
Javac | 編譯原始檔案 |
JspC | 運行JSP編譯器 |
NetRexxC | 編譯NetRexx原始檔案 |
Rmic | 運行rmic編譯器 |
2.4. 執行任務
用於執行運行應用程式的任務稱為執行任務。下麵列出了一些常見的內置執行任務。
任務名稱 | 描述 |
---|---|
Ant | 在指定的構建檔上運行Ant |
AntCall | 在同一個構建檔中運行另一個目標 |
Apply | 執行系統命令 |
Java | 執行Java類 |
Parallel | 可包含其他ant任務的容器任務 |
Sleep | 按指定的時間暫停執行 |
2.5. 檔任務
與句柄檔操作相關的任務稱為檔任務。下麵列出了一些常見的內置檔任務。
任務名稱 | 描述 |
---|---|
Chmod | 更改檔的許可權 |
Chown | 更改檔的所有權 |
Concat | 連接多個檔 |
Copy | 將檔複製到新目的地 |
Delete | 刪除檔 |
Mkdir | 創建一個目錄 |
3.Apache Ant內置任務連接示例
連接單個檔,如果目標檔存在則附加。如下示例:
<concat destfile="NOTES" append="true">
<filelist dir="notes" files="note.txt"/>
</concat>
3.1. 如何使用Apache Ant任務?
要使用任務,首先需要使用<project>
標籤創建專案。 之後,創建一個目標,使用<target>
標記對任務進行分組。 然後可以通過將任務放在目標標記內來執行任務。看一個例子,這裏使用<java>
標籤創建Java任務。
<project name="java-ant project" default="run">
<target name="run" depends="compile">
<java classname = "com.zaixian.Hello">
<classpath path="test"></classpath>
</java>
</target>
</project>
4. Apache Ant用戶定義任務
Apache Ant允許用戶編寫自己的任務。編寫自己的任務非常容易。 下麵給出了一些必要的步驟。請參考以下幾個步驟。
- 首先創建一個Java類並擴展
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
。
上一篇:
Apache Ant目標-target標籤
下一篇:
Apache Ant屬性