本文是Ant: The Definitive Guide
nd Edition的摘錄的兩部分當中的第一部分
作者Steve Holzner介紹了web application的打包
並將於下周對第二部分做出修改
它將會介紹WEB 應用程序的部署
包括get
serverdeploy
和 scp
對於Ant開發者來說開發Web就好像面包與黃油一樣
在你的配置當中包含一系列的任務
第四章中我們將會介紹對應用包括Web應用的打包和部署的方法
包括移動
復制
ftp
telnet
sshesec
和mail等任務
Ant提供給我們的工具比我們提高的更多
這一章中我們將會介紹針對Web應用打包的方法
包括deploy
reload
和undeploy等任務
第九章中將會介紹更多關於EJB的Ant任務
建立WAR文件 War任務是jar任務的一個擴展
它將Web應用程序打進
war文件當中
通過特殊的方法
文件將會被放置到服務器的WEB
INF/lib
WEB
INF/classes 和 WEB
INF目錄當中
舉例來說
當用戶在編譯工程之後產生以下的目錄布局
例
當中使用的build文件將會把你需要部署的應用創建在
war文件當中
將
class文件放入WEB
INF/classes目錄
重新命名login
xml
web
xml文件
並將其放入WEB
INF目錄當中
以及其它任務
例
建立war文件(ch
/war/build/xml)
<?xml version=
encoding=
UTF
?>
<project default=
main
basedir=
>
<property name=
bin
value=
output
/>
<property name=
src
value=
source
/>
<target name=
main
>
<war destfile=
login
war
webxml=
${src}/login
xml
>
<fileset dir=
${src}/html
/>
<classes dir=
${bin}
/>
</war>
</target>
</project>
build 文件如下所示
%antBuildfile: build
xmlmain:
[war] Building war: /home/steven/ant/ch
/war/login
warBUILD SUCCESSFULTotal time:
seconds
通過上面的命令
我們建立了
war文件
除了將指定文件打包之外
Ant同時在
war文件當中提供了一個缺省的清單文件
Manifest
mf
這個文件包含下面的內容
Manifest
Version:
Ant
Version: Apache Ant
Created
By:
_
b
(Sun Microsystems Inc
)
在建立
war文件之後
用戶可以將它部署到web服務器的部署目錄下
例如Tomcat服務器上的webapps目錄
在表
中列出了war任務的屬性
小技巧
war任務是一種指定
war文件部署的快捷方式
在使用zip或者jar任務時
使用不同的前綴(prefix)和完整路徑(fullpath)可以達到與war任務同樣的效果
表
war 任務屬性列表
educitycn/img_///jpg > war任務可以包含像fileset及zipfileset這些指定在
war文件中應該包含有什麼文件的元素
war任務可以通過這些元素來指定各種文件應該放在什麼地方
webinf元素裡面的文件
放在WEB
INF路徑下
classes元素裡面的文件
放在WEB
INF/classes路徑下
l
ib元素裡面的文件
放在WEB
INF/lib路徑下
metainf元素裡面的文件
放在META
INF路徑下
建立CAB文件 cab任務的作用是建立Microsoft
cab 檔案文件
cab任務的使用方法類似於jar或是zip任務
cab文件相當於
NET系統的
war文件
用於部署
NET應用程序到服務器
這個任務在Windows環境下使用外部工具cabarc(Microsoft提供)工作
cabarc必須包含在執行路徑當中
鑒於Microsoft Visual Studio IDE已經提供了很多強有力集成工具和向導來建立
cab文件
我們不打算在這裡花太多的時間
大多數的Microsoft開發者也不使用Ant來解決他們的構建問題
提供一個使用Ant cab任務的建立例子
<cab cabfile=
${deploy}/app
cab
basedir=
${output}
/>
小技巧
你可以免費的得到Microsoft C#的命令行編輯器
csc
如果你的Windows並沒有包含這個工具
你可以安裝
NET Framework
s Software Development Kit (SDK)(可以在上得到)
csc的編譯器被包含在這個SDK當中
表
The cab 任務屬性列表
educitycn/img_///jpg > 用戶可以使用嵌套的fileset元素來指定想要包含在文檔當中的文件
相對於其他Ant任務來說這個任務形成一個隱含的FileSet
同時支持fileset元素(dir成為basedir)的所有屬性
包括嵌套的元素include
exclude和patternset元素
From:http://tw.wingwit.com/Article/program/Java/ky/201311/28666.html