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.yiibai.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