《Java极限编程》(Java Tool for Extreme Progr…
2008-02-23 10:01:16来源:互联网 阅读 ()
第四章 使用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文件。
上一篇: 利用游标返回结果集的的例子(Oracle 存储过程)
下一篇: 简单的Oracle存储过程的创建方法(菜鸟级)
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash