任務(wù)是一段可以執(zhí)行的代碼。 任務(wù)可以具有多個(gè)屬性,每個(gè)任務(wù)都具有共同的結(jié)構(gòu)。 常見(jiàn)結(jié)構(gòu)由任務(wù)名稱,屬性等組成。請(qǐng)參閱下面的示例。
任務(wù)配置結(jié)構(gòu)可包括:
<task-name attribute1 = "value1" attribute2 = "value2" ... >
...
</task-name>
Apache Ant任務(wù)分為兩類:
Apache Ant本身在其庫(kù)中提供的任務(wù)稱為內(nèi)置任務(wù)。 Apache ant提供了大量?jī)?nèi)置任務(wù),可用于執(zhí)行區(qū)分任務(wù)。 如下列表所示:
……
用于壓縮和解壓縮數(shù)據(jù)的任務(wù)稱為歸檔任務(wù)。下面列出了一些常見(jiàn)的內(nèi)置存檔任務(wù)。
| 任務(wù)名稱 | 描述 |
|---|---|
| Ear | Jar任務(wù)的擴(kuò)展,對(duì)文件進(jìn)行特殊處理 |
| Jar | 一組文件 |
| Tar | 創(chuàng)建tar存檔 |
| Unjar | 解壓縮jar文件 |
| Untar | 解壓tarfile |
| Unwar | 解壓縮warfile |
| Unzip | 解壓縮zip文件 |
| War | Jar任務(wù)的擴(kuò)展 |
| 任務(wù)名稱 | 描述 |
|---|---|
| JDepend | 它用于調(diào)用JDepend解析器 |
用于編譯源文件的任務(wù)稱為編譯任務(wù),下面列出了一些常見(jiàn)的內(nèi)置編譯任務(wù)。
| 任務(wù)名稱 | 描述 |
|---|---|
| Depend | 確定哪些類文件的資源已過(guò)期 |
| Javac | 編譯源文件 |
| JspC | 運(yùn)行JSP編譯器 |
| NetRexxC | 編譯NetRexx源文件 |
| Rmic | 運(yùn)行rmic編譯器 |
用于執(zhí)行運(yùn)行應(yīng)用程序的任務(wù)稱為執(zhí)行任務(wù)。下面列出了一些常見(jiàn)的內(nèi)置執(zhí)行任務(wù)。
| 任務(wù)名稱 | 描述 |
|---|---|
| Ant | 在指定的構(gòu)建文件上運(yùn)行Ant |
| AntCall | 在同一個(gè)構(gòu)建文件中運(yùn)行另一個(gè)目標(biāo) |
| Apply | 執(zhí)行系統(tǒng)命令 |
| Java | 執(zhí)行Java類 |
| Parallel | 可包含其他ant任務(wù)的容器任務(wù) |
| Sleep | 按指定的時(shí)間暫停執(zhí)行 |
與句柄文件操作相關(guān)的任務(wù)稱為文件任務(wù)。下面列出了一些常見(jiàn)的內(nèi)置文件任務(wù)。
| 任務(wù)名稱 | 描述 |
|---|---|
| Chmod | 更改文件的權(quán)限 |
| Chown | 更改文件的所有權(quán) |
| Concat | 連接多個(gè)文件 |
| Copy | 將文件復(fù)制到新目的地 |
| Delete | 刪除文件 |
| Mkdir | 創(chuàng)建一個(gè)目錄 |
連接單個(gè)文件,如果目標(biāo)文件存在則附加。如下示例:
<concat destfile="NOTES" append="true">
<filelist dir="notes" files="note.txt"/>
</concat>
要使用任務(wù),首先需要使用<project>標(biāo)簽創(chuàng)建項(xiàng)目。 之后,創(chuàng)建一個(gè)目標(biāo),使用<target>標(biāo)記對(duì)任務(wù)進(jìn)行分組。 然后可以通過(guò)將任務(wù)放在目標(biāo)標(biāo)記內(nèi)來(lái)執(zhí)行任務(wù)。看一個(gè)例子,這里使用<java>標(biāo)簽創(chuàng)建Java任務(wù)。
<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允許用戶編寫自己的任務(wù)。編寫自己的任務(wù)非常容易。 下面給出了一些必要的步驟。請(qǐng)參考以下幾個(gè)步驟。
org.apache.tools.ant.Task類。setter和getter方法。task包含其他任務(wù)作為嵌套元素,則class必須實(shí)現(xiàn)org.apache.tools.ant.TaskContainer接口。public void addText(String)方法。write,add或addConfigured方法。public void execute()方法(不帶參數(shù))并拋出BuildException。