Apache Ant,是一個将軟體編譯、測試、部署等步驟聯系在一起加以自動化的一個工具,大多用于Java環境中的軟體開發。
由Apache軟體基金會所提供。預設情況下,它的buildfile(XML檔案)名為build.xml。每一個buildfile含有一個<code><project></code>和至少一個預設的<code><target></code>,這些targets包含許多task elements。每一個task element有一個用來被參考的id,此id必須是唯一的。
default表示預設的執行目标,必須有的。
basedir-是工作的根目錄 .号代表項目根目錄,必須有的。
name表示項目名稱。
變量名為src,值為cn.hncu.
在其他标簽中用${src}-引用src的值,cn.hncu.
一個項目<code><project></code>标簽下可以有一個或多個target标簽,
一個target标簽可以依賴其他target标簽,(被依賴的标簽先執行)
target所有屬性如下所示:
name表示這個标簽的名字,這個屬性是必須的。
depends表示依賴的目标target标簽的name。
Ant的depends屬性指定了target的執行順序,Ant會依照depends屬性中target标簽出現順序依次執行每個target,在執行之前首先執行它所依賴的target标簽
if表示僅當屬性設定時才執行。
unless表示當屬性沒有設定時才執行。
description表示項目的描述(或者是對這個标簽的作用進行表述)。
該标簽用于建立目錄,它有一個屬性dir使用者指定所建立的目錄.
表示在D盤下建立a檔案夾,a檔案夾下建立a1檔案夾。
該标簽用于删除目錄,它有一個屬性dir使用者指定删除的目錄.
表示删除d盤的a目錄下的a1檔案夾以及a1檔案夾下的所有檔案。
該标簽用來生成一個JAR包
basedir表示被歸檔成jar的檔案目錄。
destfile表示壓縮成jar輸出到那個目錄,名字為啥。
includes表示被歸檔的檔案模式。
exchudes表示被排除的檔案模式。
manifest屬性指定自己的META-INF/MANIFEST.MF檔案,而不是由系統生成
該标簽用來在控制台輸出資訊,其輸入如下:
message表示輸入的内容。
先輸出Hello111再輸出Hello222,因為hello2依賴hello1(depends)
效果圖:
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsIiNykDOyUDN0EDNygDM2EDMy8CX0Vmbu4GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.jpg)
sourcepath-指定查找輸入源檔案的位置-src表示src下的所有源檔案(.java)輸入
destdir-輸出的檔案位置
packagenames-包名
encoding-源java檔案的編碼
docencoding-輸出檔案的編碼
選第一個是上次運作的targets标簽,如果上次沒運作,就是預設的。
選第二個Ant Build….就是讓我們自己選運作哪個或者哪幾個。
description就是運作時有提示的那個。
ant的知識點太多了,其實隻是一個輔助我們的工具,個人覺得完全沒必要去很熟練的使用所有的,但是打jar包,輸出Javadoc等常用的,還是必須熟練。