王朝网络
分享
 
 
 

《Java极限编程》(Java Tool for Extreme Programming)读书笔记 (4)

王朝java/jsp·作者佚名  2006-01-09
宽屏版  字体: |||超大  

第四章 使用Ant进行持续整合

这一章是对Ant的一个基础介绍,包括

1.Ant构建文件 build.xml

2.项目 <project name="myproject" default="all" basedir=".">

3.目标 <target name="all" depends="clean, fetch, build, test, docs, deploy">

Steve Loughran的Ant in Anger

top-level targets的推荐命名如下:

test— 运行JUnit测试

clean— 清空输出目录

deploy— 将JARs, WARs等文件部署到执行环境中

publish— 输出源代码和二进制文件到发布站点(指IIS,HTML?我不知道)

fetch— 从CVS中得到最新源代码

docs/javadocs— 输出文档文件

all— 执行以上所有(clean, fetch, build, test, docs, and deploy)

main— 默认构建过程 (经常是build 或者build & test)

internal targets的推荐命名如下:

init— 初始化properties执行其他初始化任务,读入property文件

init-debug— 初始化调试属性

init-release— 初始化发布属性

compile— 实际的编译

link/jar— 建立JAR文件或其它等价文件

staging— 预部署并且测试

4.条件性目标<target name="setupProdution" if="production">

<target name="setupDevelopment" unless="production">

ant -build.xml build4.xml -Dproduction=true

5.文件集和路径设置

<project name="hello" default="compile">

<property name="lib" value="../lib"/>

<property name="outputdir" value="/tmp"/>

<path id="1">

<pathelement location="."/>

<pathelement location="${lib}/log4j.jar"/>

</path>

<path id="2">

<pathelement path=".;${lib}/log4j.jar"/>

</path>

<path id="3">

<pathelement location="."/>

<fileset dir="${lib}">

<include name="**/*.jar"/>

</fileset>

</path>

<target name="compile">

<javac srcdir="./src" destdir="${outputdir}/classes">

<classpath refid="1"/>

</javac>

<javac srcdir="./src" destdir="${outputdir}/classes">

<classpath refid="2"/>

</javac>

<javac srcdir="./src" destdir="${outputdir}/classes">

<classpath refid="3"/>

</javac>

<javac srcdir="./src" destdir="${outputdir}/classes">

<classpath id="1">

<pathelement location="."/>

<pathelement location="${lib}/log4j.jar"/>

</classpath>

</javac>

</target>

</project>

6.过滤器<filter token="jdbc_url" value="jdbc::development">

7.嵌套构建文件

<ant antfile="./hello/build.xml">

<property name="production value="true"" />

</ant>

8.property

<property name="outputdir" value="/tmp" />

总体来看ant是一个强大的自动化构建工具,代码编写完后的工作都可以交给ant来完成。这使nightly build成为可能,使用ant,甚至可以运行完测试代码之后将结果生成HTML,然后发email给开发人员,这样开发人员就能在第二天早上看到build失败的原因了,这样开发人员第二天进能快速知道今天的第一件事是什么,快速的进入一天八小时的工作状态了。这一点和kent beck的《测试驱动开发》(中文版)中的某些观点类似,即一天8小时的工作之后,不要急着加班将手头的工作做完才回家,而是做到哪儿是哪儿,这样第二天来的时候能快速的进入工作状态,而不是从头想,昨天做了哪些,今天应该开始做哪些。(晚上电脑不用关机,可以只关掉屏幕、锁上键盘,或者将计算机设为休眠状态,也能很大程度上让第二天的"进入状态"的过程更短)

对了,不知道有没有IDE能在我写Ant的build.xml文件的时候提供方便,最好是图形界面,不用我对着枯燥的文本编辑器。这点以前netBeans的properties文件编辑器就不错,能同时编辑几个不同语言的properties文件。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
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- 王朝网络 版权所有