版權(quán)聲明:可以任意轉(zhuǎn)載,轉(zhuǎn)載時(shí)請(qǐng)務(wù)必以超鏈接形式標(biāo)明文章原始出處和作者信息及本聲明 英文原文地址: http://www./pub/a/onjava/excerpt/AntTDG_chap8/index.html 中文地址: http://www./resource/article/43/43596_Ant_web.html 關(guān)鍵詞:Ant web deploy WAR Manifest 編輯語(yǔ):本文是Ant: The Definitive Guide, 2nd Edition的摘錄的兩部分當(dāng)中的第一部分,作者Steve Holzner介紹了web application的打包。并將于下周對(duì)第二部分做出修改,它將會(huì)介紹WEB 應(yīng)用程序的部署,包括get, serverdeploy, 和 scp。 使用Ant進(jìn)行Web開(kāi)發(fā),第二部分: http://www./resource/article/43/43742_Ant_Web.html 對(duì)于Ant開(kāi)發(fā)者來(lái)說(shuō)開(kāi)發(fā)Web就好像面包與黃油一樣。在你的配置當(dāng)中包含一系列的任務(wù):第四章中我們將會(huì)介紹對(duì)應(yīng)用包括Web應(yīng)用的打包和部署的方法,包括移動(dòng),復(fù)制,ftp,telnet,sshesec,和mail等任務(wù)。Ant提供給我們的工具比我們提高的更多。這一章中我們將會(huì)介紹針對(duì)Web應(yīng)用打包的方法,包括deploy,reload,和undeploy等任務(wù)。第九章中將會(huì)介紹更多關(guān)于EJB的Ant任務(wù)。 建立WAR文件 War任務(wù)是jar任務(wù)的一個(gè)擴(kuò)展,它將Web應(yīng)用程序打進(jìn).war文件當(dāng)中,通過(guò)特殊的方法,文件將會(huì)被放置到服務(wù)器的WEB-INF/lib, WEB-INF/classes 和 WEB-INF目錄當(dāng)中。舉例來(lái)說(shuō),當(dāng)用戶在編譯工程之后產(chǎn)生以下的目錄布局: war 例8-1當(dāng)中使用的build文件將會(huì)把你需要部署的應(yīng)用創(chuàng)建在.war文件當(dāng)中,將.class文件放入WEB-INF/classes目錄,重新命名login.xml,web.xml文件,并將其放入WEB-INF目錄當(dāng)中,以及其它任務(wù)。 例8-1 建立war文件(ch08/war/build/xml) <?xml version="1.0" encoding="UTF-8" ?> build 文件如下所示: %ant 通過(guò)上面的命令,我們建立了.war文件。除了將指定文件打包之外,Ant同時(shí)在.war文件當(dāng)中提供了一個(gè)缺省的清單文件,Manifest.mf。這個(gè)文件包含下面的內(nèi)容: Manifest-Version: 1.0 在建立.war文件之后,用戶可以將它部署到web服務(wù)器的部署目錄下,例如Tomcat服務(wù)器上的webapps目錄。 在表8-1中列出了war任務(wù)的屬性: 小技巧:war任務(wù)是一種指定.war文件部署的快捷方式。在使用zip或者jar任務(wù)時(shí),使用不同的前綴(prefix)和完整路徑(fullpath)可以達(dá)到與war任務(wù)同樣的效果。 表8-1. war 任務(wù)屬性列表 ![]() war任務(wù)可以包含像fileset及zipfileset這些指定在.war文件中應(yīng)該包含有什么文件的元素。war任務(wù)可以通過(guò)這些元素來(lái)指定各種文件應(yīng)該放在什么地方: -webinf元素里面的文件,放在WEB-INF路徑下 -classes元素里面的文件,放在WEB-INF/classes路徑下 l-ib元素里面的文件,放在WEB-INF/lib路徑下 -metainf元素里面的文件,放在META-INF路徑下 建立CAB文件 cab任務(wù)的作用是建立Microsoft.cab 檔案文件,cab任務(wù)的使用方法類似于jar或是zip任務(wù)。.cab文件相當(dāng)于.NET系統(tǒng)的.war文件,用于部署.NET應(yīng)用程序到服務(wù)器。這個(gè)任務(wù)在Windows環(huán)境下使用外部工具cabarc(Microsoft提供)工作,cabarc必須包含在執(zhí)行路徑當(dāng)中。 鑒于Microsoft Visual Studio IDE已經(jīng)提供了很多強(qiáng)有力集成工具和向?qū)?lái)建立.cab文件,我們不打算在這里花太多的時(shí)間;大多數(shù)的Microsoft開(kāi)發(fā)者也不使用Ant來(lái)解決他們的構(gòu)建問(wèn)題。提供一個(gè)使用Ant cab任務(wù)的建立例子: <cab cabfile="${deploy}/app.cab" basedir="${output}" /> 小技巧:你可以免費(fèi)的得到Microsoft C#的命令行編輯器,csc, 如果你的Windows并沒(méi)有包含這個(gè)工具,你可以安裝.NET Framework‘s Software Development Kit (SDK)(可以在http://msdn.microsoft.com/downloads上得到)。csc的編譯器被包含在這個(gè)SDK當(dāng)中。 表 8-2. The cab 任務(wù)屬性列表 ![]() 用戶可以使用嵌套的fileset元素來(lái)指定想要包含在文檔當(dāng)中的文件。相對(duì)于其他Ant任務(wù)來(lái)說(shuō)這個(gè)任務(wù)形成一個(gè)隱含的FileSet,同時(shí)支持fileset元素(dir成為basedir)的所有屬性,包括嵌套的元素include,exclude和patternset元素。 Steve Holzner 是O‘Reilly‘s upcoming Eclipse: A Java Developer‘s Guide的作者 gracepig是(Matrix.org.cn)的會(huì)員,可以通過(guò)zhangchi_nwpu@hotmail.com和他聯(lián)系。 |
|