分享
 
 
 

使用Ant进行Web开发,第一部分

王朝other·作者佚名  2008-05-19
窄屏简体版  字體: |||超大  

本文是Ant: The Definitive Guide, 2nd 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目录当中。举例来说,当用户在编译工程之后产生以下的目录布局:

例8-1当中使用的build文件将会把你需要部署的应用创建在.war文件当中,将.class文件放入WEB-INF/classes目录,重新命名login.xml,web.xml文件,并将其放入WEB-INF目录当中,以及其它任务。

例8-1 建立war文件(ch08/war/build/xml)

<?xml version="1.0" encoding="UTF-8" ?

<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/ch08/war/login.warBUILD SUCCESSFULTotal time: 2 seconds

通过上面的命令,我们建立了.war文件。除了将指定文件打包之外,Ant同时在.war文件当中提供了一个缺省的清单文件,Manifest.mf。这个文件包含下面的内容:

Manifest-Version: 1.0Ant-Version: Apache Ant 1.6.1Created-By: 1.4.2_03-b02 (Sun Microsystems Inc.)

在建立.war文件之后,用户可以将它部署到web服务器的部署目录下,例如Tomcat服务器上的webapps目录。

在表8-1中列出了war任务的属性:

小技巧:war任务是一种指定.war文件部署的快捷方式。在使用zip或者jar任务时,使用不同的前缀(prefix)和完整路径(fullpath)可以达到与war任务同样的效果。

表8-1. war 任务属性列表

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)(可以在http://msdn.microsoft.com/downloads上得到)。csc的编译器被包含在这个SDK当中。

表 8-2. The cab 任务属性列表

用户可以使用嵌套的fileset元素来指定想要包含在文档当中的文件。相对于其他Ant任务来说这个任务形成一个隐含的FileSet,同时支持fileset元素(dir成为basedir)的所有属性,包括嵌套的元素include,exclude和patternset元素。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有