Ant是一個相當令人好奇的工具,不少java的工程師都會說, 自己實在是離不開ant,ant可以替工程師忙亂的生活建立一點點 的秩序。究竟ant是什麼呢?其實ant是一個類似make的工具,用來 建立一個專案的"規則",包括原始檔案間的相依性等等。Ant的功能 還遠比make強大許多,但是進入門檻也高了許多,這次我們將稍稍 的介紹一下ant的能力。 如同使用make工具必須撰寫makefile,使用ant工具必須撰寫build.xml, 只不過build.xml是使用xml格式,所以可以表達更複雜的工作。在介紹 build.xml之前,我們先介紹一下範例的檔案結構: | |-------------- | |--------------build.xml 執行ant的時候,先把download且安裝好的ant/bin資料夾加入path環境變數中, 然後切換到執行ant,會自動抓到build.xml。接著, 我們來看一個很簡單的build.xml例子: ------------------------------------------------------------------------------------------------------- Example build file -------------------------------------------------------------------------------------------------- 首先,我們先注意到在這個build.xml裡面,一個project是由很多個target組成的, 而這些target之間可能有相依性。事實上,我們可以在project這個tag裡面指定 default的target是哪一個,當我們執行ant的時候,會從default的target執行,並且 檢查這個target所depend的target有沒有完成了,如果沒有,就先執行depend的target。 當然,我們也可以使用ant [target name]來強迫ant執行某個target。另外一個有趣 的地方是ant對於變數的處理能力,在ant裡面,使用${......}包裹起來的即為變數, 我們可以這樣使用環境變數,也可以在這個tag裡面定義變數。另外一 個重點是ant對於檔案的處理能力,我們看一下這一小段例子: 注意一下我們對於classpath的設定,包括了classpath這個環境變數的設定,以及 在${lib}所指定的資料夾底下所有的package、*.class檔案、以及*.jar檔案。 除此之外,ant還可以做更多的檔案操作,讓我們看看底下這些例子: 這幾行敘述要求ant建立一個由${dist}變數指定的資料夾及其底下的lib資料夾, 並且將${lib}這個變數所指定的資料夾底下所有的*.jar檔案都copy到由${build} 變數所指定的資料夾。 OK,我們很簡單的介紹了ant的基本功能,當然ant的功能還遠超過此,我們會 在之後慢慢的為您介紹。