版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1第12章 Ant的應用學前提示“Ant”在英文中的意思為“螞蟻”,它是“Anotherneattool”的縮寫,含義即“另一個整潔的工具”。它是一個基于Java的自動化腳本引擎,腳本格式為XML??梢杂盟瓿蒍ava編譯相關的任務。本章將從Ant概述、Ant的下載與配置、Ant管理項目等方面學習Ant的相關知識,并通過實例講述Ant在Java項目中的應用,講述編譯、運行Java程序,以及打JAR包、War包等知識。知識要點Ant的概述Ant的下載與安裝Ant構建文件Ant的使用示例以Ant與JUnit結合進行單元測試212.1Ant概述Ant最初是Tomcat的一個內部組件,后來Tomcat項目歸入Apache軟件基金會后,Ant的使用逐步廣泛,它發(fā)展成為一個Jakarta子項目,贏得了無數的行業(yè)大獎,并成為用于生成開放源代碼Java項目的事實標準。2002年,Ant被提升為Apache項目。Ant是基于Java編寫的,因此具有很好的跨平臺性。Ant由一些內置任務(Task)和可選擇的任務組成(當然還可以編寫自己的任務),使用make時,需要寫一個Makefile文件,而用Ant時則需要寫一個build.xml文件。由于采用XML的語法,所以build.xml文件很容易書寫和維護,且結構很清晰,而不像Makefile文件有那么多的限制(例如在Tab符號前有一個空格的話,命令就不會執(zhí)行)。Ant的優(yōu)點遠不止這些,它還能很容易地集成到一些開發(fā)環(huán)境中,例如VisualAge、JBuilder、NetBeans等。312.2Ant的下載與安裝Eclipse和MyEclipse默認的情況下集成了Ant工具,但有時需要更新最新版本的Ant,這時需要下載并安裝Ant工具,本節(jié)將講述Ant工具的安裝、配置及運行。412.2.1下載Ant工具Ant工具目前的版本是1.7,它支持1.1后的所有JDK版本。到Ant工具的下載主頁/即可下載。下載頁面的首頁如圖12.1所示。單擊download鏈接,可以下載ZIP壓縮包,如圖12.2所示。512.2.2配置與運行Ant把ant.jar文件復制到所在工程,然后把它添加至類路徑中,如圖12.3所示。打開ant目錄,ant目錄中的結構如圖12.4所示。612.2.2配置與運行Ant在這個目錄結構中,與傳統(tǒng)的項目不同的是,用build.xml取代了Makefile,build.xml文件的代碼清單如下:1.<?xmlversion="1.0"?>2.<projectname="MyProject"default="init"basedir=".">3.<propertyname="dist"value="xmh"/>4. <targetname="init">5. <mkdirdir="${dist}"/>6. </target>7.</project>712.2.2配置與運行Ant把上面的builder.xml放在src中,然后選中build.xml,單擊鼠標右鍵,從彈出的快捷菜單中選擇RunAs→AntBuild命令,如圖12.5所示。打開控制臺,查看控制臺的提示信息,圓角框所標注的是新生成文件夾所在的位置,如圖12.6所示。812.2.2配置與運行Ant在Windows命令提示符下工作時,每次都必須進行上面的設置,退出命令提示符后,這些變量的值又會恢復成原來的樣子。為了避免這些麻煩,可以在“控制面板”→“系統(tǒng)”→“高級”→“環(huán)境變量”中設置。上述設置完成后,就可以使用Ant了。進入到build.xml所在的目錄,在命令行上輸入ant-buildfilebuild.xml,如圖12.7所示。912.3Ant構建文件Ant構建文件是由XML文件寫成的,它由一些標簽組成,下面分幾個部分來介紹Ant構建的應用。1012.3.1Ant的數據類型1.argument類型2.environment類型3.filelist類型4.fileset類型5.patternset類型6.filterset類型7.path類型8.mapper類型1112.3.2與文件操作相關的屬性1.<mkdir>標簽2.<copy>標簽3.<delete>標簽4.<move>標簽5.<echo>標簽1212.3.3與Java相關的屬性1.<javac>標簽2.<java>標簽1312.3.4與打包相關的屬性 1.<jar>標簽2.<war>標簽1412.4Ant的使用示例前面已經學習了Ant的配置,了解了Ant標簽的相關用法,下面舉例說明Ant標簽的具體用法。1512.4.1編譯Java程序Ant可以代替使用javac、java命令來執(zhí)行Java操作,從而達到輕松構建工程的目的。Ant的javac任務用于實現編譯Java程序的功能。下面通過一個示例來學習javac的使用。(1) 首先建立名為antstudy的Java工程,建立src目錄為源代碼目錄,在src目錄下建立HelloWorld.java這個類文件。(2) 在antstudy工程的根目錄下建立build.xml文件,在該文件中編譯src目錄下的Java文件,并將編譯后的class文件放入build/classes目錄中,在編譯前,需清除classes目錄。(3) 在build.xml文件上單擊鼠標右鍵,執(zhí)行Runas→AntBuild命令,工程中將新增build/classes目錄,并在該目錄中生成了編譯后的HelloWorld.class文件。(4) 修改build.xml,添加java任務,可以實現在Ant中使用java任務運行Java程序。(5) 運行該build.xml文件,將在控制臺看到HelloWorld對象main方法的執(zhí)行結果,如圖12.9所示。1612.4.2制作JAR文件Ant可以代替使用JAR完成部署打包Java類的目的。修改build.xml文件,添加JAR任務。JAR任務的代碼清單如下所示:<targetname="jar"depends="run"><jardestfile="helloworld.jar"basedir="build/classes"><manifest><attributename="Main-class"value="HelloWorld"/></manifest></jar></target>1712.4.2制作JAR文件此時將Ant的project的default屬性設置為JAR,即:<projectname="javaTest"default="jar"basedir=".">然后運行該build.xml文件,運行完畢后,可看到在工程目錄下生成了一個JAR包——“HelloWorld.jar”,效果如圖12.10所示。1812.4.3制作War文件對于Web項目,打成War包有利于項目的遠程發(fā)布,使用Ant的War任務,可以輕松地完成制作War的任務。下面通過一個示例來演示War文件的制作過程。(1) 修改antstudy工程中的index.jsp(2) 修改build.xml文件,添加War任務。(3) 運行該build文件,更新目錄后,可看到在build目錄下生成了antstudy.war文件讀者可以將該antstudy.war文件復制到Tomcat\webapps目錄中,啟動Tomcat,輸入“http://localhost:8080/antstudy/”,訪問頁面如圖12.11所示。1912.5以Ant與JUnit結合進行單元測試Ant可以進行自動化構建,而JUnit可以進行自動化測試,Ant可以與JUnit結合,使得自動化的構建與測試變得可行。如果要讓Ant能支持JUnit,建議直接將JUnit的junit.jar放置在Ant的lib目錄中,并需要改變Classpath中有關junit.jar的設定。例如將Classpath重新指向%ANT_HOME%\lib\junit.jar,這里已經設置ANT_HOME的環(huán)境變量。如果讀者沒有設置,可參看前面的內容。2012.5以Ant與JUnit結合進行單元測試這里通過一個示例來學習Ant如何調用junit標簽進行JUnit測試。具體步驟如下。(1) 新建HelloWorld.java文件(2) 編寫測試文件“HelloWorldTest.java”(3) 編寫測試套件文件AllJunitTests.java(4) 編寫build.xmlruntests任務中的depends是定義目標,運行此目標依賴于編譯目標在此目標中將運行的測試用例。2112.5以Ant與JUnit結合進行單元測試文檔結構如圖12.12所示。在DOS窗口下運行ant命令,控制臺輸出的內容如圖12.13所示。2212.5以Ant與JUnit結合進行單元測試下面把HelloWorld.java文件中的return“HelloWorld!”修改成return“Hello!!”,運行antruntests,會看到如圖12.14所示的結果。將測試信息輸出到控制臺不利于客戶查看,所以可修改build.xml,讓容器自動生成測試報告:參見教材P399執(zhí)行Runas→AntBuild命令,將會生成HTML測試結
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五版金融理財產品銷售合同細則4篇
- 二零二五年度農業(yè)科技創(chuàng)新合作合同4篇
- 二零二五年度醫(yī)院院長任期公共衛(wèi)生服務合同4篇
- 二零二五年度時尚服飾連鎖加盟合同協(xié)議3篇
- 二零二五年度公積金提取與個人住房貸款一體化合同
- 二零二五年度新能源發(fā)電項目并網接入合同4篇
- 2025年環(huán)境監(jiān)測技術的創(chuàng)新與應用
- 二零二五年度寧德監(jiān)獄行政區(qū)生態(tài)園林景觀養(yǎng)護協(xié)議4篇
- 2025年度個人租車車輛故障應急處理合同4篇
- 二零二五年度高端論壇組織策劃合同協(xié)議書4篇
- 河南省濮陽市2024-2025學年高一上學期1月期末考試語文試題(含答案)
- 割接方案的要點、難點及采取的相應措施
- 2025年副護士長競聘演講稿(3篇)
- 2024年08月北京中信銀行北京分行社會招考(826)筆試歷年參考題庫附帶答案詳解
- 原發(fā)性腎病綜合征護理
- (一模)株洲市2025屆高三教學質量統(tǒng)一檢測 英語試卷
- 蘇教版二年級數學下冊全冊教學設計
- 金字塔原理與結構化思維考核試題及答案
- 基礎護理學導尿操作
- DB11∕T 1028-2021 民用建筑節(jié)能門窗工程技術標準
- 四川省成都市溫江區(qū)2023-2024學年四年級下學期期末語文試卷
評論
0/150
提交評論