Apache Ant任務-task標籤

任務是一段可以執行的代碼。 任務可以具有多個屬性,每個任務都具有共同的結構。 常見結構由任務名稱,屬性等組成。請參閱下麵的示例。

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類。
  • 為每個屬性創建settergetter方法。
  • 如果task包含其他任務作為嵌套元素,則class必須實現org.apache.tools.ant.TaskContainer介面。
  • 如果任務支持字元數據,請編寫public void addText(String)方法。
  • 對於每個嵌套元素,writeaddaddConfigured方法。
  • 編寫一個public void execute()方法(不帶參數)並拋出BuildException

上一篇: Apache Ant目標-target標籤 下一篇: Apache Ant屬性