“Apache Ant是一個(gè)基于Java 的生成工具。據(jù)最初的創(chuàng)始人James Duncan Davidson 介紹,這個(gè)工具的名稱是 another neat tool(另一個(gè)整潔的工具)的首字母縮寫。”
在初步使用過程中,對(duì)于Ant的作用,我覺得主要即輔助Java的編譯,例如定義編譯之前的準(zhǔn)備工作、項(xiàng)目之間的依賴關(guān)系等等?!?/span>.NET中的項(xiàng)目文件(.csproj)。
1.下載Ant,(http://ant./bindownload.cgi)
2.安裝Ant 將下載的包apache-ant-1.8.0-bin.zip解壓,放在適當(dāng)?shù)奈恢?,如本例放置于?/span>C:\apache-ant-1.8.0
為方便使用,還需設(shè)置OS環(huán)境變量,進(jìn)入computer/properties/environment variables/user variables, 添加一個(gè)用戶變量: ANT_HOME=C:\apache-ant-1.8.0 修改用戶變量 PATH,添加 %ANT_HOME%\bin
3.測試Ant安裝 打開命令行,輸入ant,如果能見到類似如下信息,證明Ant配置成功: Buildfile: build.xml does not exist! Build failed
4.新建測試項(xiàng)目 在Eclipse中新建項(xiàng)目“HelloAntWorld”,代碼如下:
代碼
在根目錄添加Ant的build.xml文件,內(nèi)容如下:
代碼
學(xué)習(xí)build.xml的文件最簡單的方法是照貓畫虎,從其它的項(xiàng)目中拿到build.xml,然后根據(jù)自己的需要增加或者簡化。對(duì)build.xml來說,最核心的是定義任務(wù)即target,這里定義的每個(gè)target,將來可以在命令行調(diào)用Ant時(shí)使用,如“Ant clean”即執(zhí)行上面定義的“clean”,實(shí)際即刪除classes目錄下的所有文件,以此類推。
5.使用Ant編譯Java項(xiàng)目 Eclipse對(duì)Ant集成很好,真正開發(fā)時(shí)也可以借由Eclipse來調(diào)用Ant進(jìn)行項(xiàng)目編譯,只要做相應(yīng)的設(shè)置即可。這里仍以命令行為例:
C:\DEV\HelloAntWorld>ant all 以下為命令輸出??梢钥吹秸{(diào)用的是build.xml中定義的target “all”,由于它的依賴(depends)中包括“init”,“compile”,“jar”,所以在命令輸出中這三個(gè)依賴項(xiàng)依次執(zhí)行完,最后執(zhí)行“all”: Buildfile: C:\DEV\HelloAntWorld\build.xml init: compile: [javac] C:\DEV\HelloAntWorld\build.xml:24: warning: 'includeantruntime' was not set, defaulting to build.sysclasspath=last; set to false for repeatable buil ds [javac] Compiling 1 source file to C:\DEV\HelloAntWorld\classes jar: [jar] Building jar: C:\DEV\HelloAntWorld\lib\HelloAntWorld.jar all: BUILD SUCCESSFUL Total time: 1 second
C:\DEV\HelloAntWorld>cd lib C:\DEV\HelloAntWorld\lib>java -jar HelloAntWorld.jar
6.其它 有時(shí)候我們會(huì)從其它地方拷貝Java項(xiàng)目,如果這些項(xiàng)目未使用Ant,那么我們常常要新建項(xiàng)目然后導(dǎo)入,然后才能使用。如果使用了Ant,我們可以在Eclipse中選擇File/New/Project../Java/Java project from existing Ant buildfile,然后選擇相應(yīng)的build.xml文件即可導(dǎo)入項(xiàng)目(有點(diǎn)像在.NET中使用項(xiàng)目文件.csproj,只不過.NET中更加簡單)。
多提一句,實(shí)際由build.xml自動(dòng)導(dǎo)入項(xiàng)目是依賴于build.xml中“javac”項(xiàng)中的“srcdir”,所以如果build.xml中沒有任何target中包含“javac”項(xiàng)目(當(dāng)然絕大多數(shù)情況下肯定會(huì)有),而你選擇由build.xml導(dǎo)入項(xiàng)目,則會(huì)報(bào)錯(cuò)。
這是一個(gè)入門簡例,關(guān)于Ant更加詳細(xì)的內(nèi)容,參見文件:Apache Ant Go Through.pdf |
|