例子
ant
使用當前目錄下的buildxml運行Ant執行缺省的target
ant buildfile testxml
使用當前目錄下的testxml運行Ant執行缺省的target
ant buildfile testxml dist
使用當前目錄下的testxml運行Ant執行一個叫做dist的target
ant buildfile testxml Dbuild=build/classes dist
使用當前目錄下的testxml運行Ant執行一個叫做dist的target並設定build屬性的值為build/classes
編寫buildxml
Ant的buildfile是用XML寫的每個buildfile含有一個project
buildfile中每個task元素可以有一個id屬性可以用這個id值引用指定的任務這個值必須是唯一的(詳情請參考下面的Task小節)
Projects
project有下面的屬性 Attribute Description Required
name 項目名稱 No
default 當沒有指定target時使用的缺省target Yes
basedir 用於計算所有其他路徑的基路徑該屬性可以被basedir property覆蓋當覆蓋時該屬性被忽略如果屬性和basedir property都沒有設定就使用buildfile文件的父目錄 No
項目的描述以一個頂級的<description>元素的形式出現(參看description小節)
一個項目可以定義一個或多個target一個target是一系列你想要執行的執行Ant時你可以選擇執行那個target當沒有給定target時使用project的default屬性所確定的target
Targets
一個target可以依賴於其他的target例如你可能會有一個target用於編譯程序一個target用於生成可執行文件你在生成可執行文件之前必須先編譯通過所以生成可執行文件的target依賴於編譯targetAnt會處理這種依賴關系
然而應當注意到Ant的depends屬性只指定了target應該被執行的順序-如果被依賴的target無法運行這種depends對於指定了依賴關系的target就沒有影響
Ant會依照depends屬性中target出現的順序(從左到右)依次執行每個target然而要記住的是只要某個target依賴於一個target後者就會被先執行
<target name=
A
/>
<target name=
B
depends=
A
/>
<target name=
C
depends=
B
/>
<target name=
D
depends=
C
B
A
/>
假定我們要執行target D從它的依賴屬性來看你可能認為先執行C然後B最後A被執行錯了C依賴於BB依賴於A所以先執行A然後B然後C最後D被執行
一個target只能被執行一次即時有多個target依賴於它(看上面的例子)
[] [] [] [] [] []
From:http://tw.wingwit.com/Article/program/Java/ky/201311/29095.html