官方網站為http://ant.apache.org/
Apache Ant 是一個用 Java 開發的建構工具。
理論上,它像是一種 make 工具,卻去掉了原本 make 的缺點。
為什麼需要Ant?
我們已經有了 make, gnumake, nmake, jam 等等的建構工具,為什麼還需要 Ant?
這是因為 Ant 的原作者需要跨平台開發軟體,而那些工具並不符合他的要求。
類似 make 的工具都是在 shell 環境使用的:它們對一組dependencies 求值,然後執行一些你平常在 shell 上執行的指令。
這代表你可以輕易地用任何作業系統上的程式來擴充這些工具
然而這也代表你已經被限制在某個特定的作業系統、或是某一個種類的,像是Unix 系統。
這些建置工具同樣的天性就是難以使用,任何使用過它們的人可能在任何時間陷入可怕的 tab 鍵問題。
「我的指令不能執行就只因為我沒有在他媽的 tab 鍵前面打一個空白字元?!!」Ant 的原作者說了這句話很多次。
Jam 這個工具是有在這方面比較小心,但它卻是使用另一種需要記憶的格式。
Ant就不一樣了。
它除了是 shell 指令延伸而成的一種模型,也是 Java 類別的擴充。
除了可以編寫 shell 指令,使用 XML 形式的設定檔,許多工作的執行是以目標樹的方式呼叫。
而且每一個工作都是以物件實作特殊的介面的方式執行。
但大家也都同意,這使得許多 shell 指令無法使用
像是有用的 `find . -name foo -exec rm {}`,不過你想想看它可以讓你在任何地方跨平台使用耶~
還有如果你真的需要執行 shell 指令,Ant 有一個 <exec> 工作允許你執行不同作業系統的命令。
相關連結:http://ant.apache.org/
ANT Articles