Ant系列二:◎Ant的使用 - buildfile文件简介


buildfile是一个xml文档默认命名为build.xml,在Ant的buildfile中,我们可以设定 属性[property]、 任务[task],每个buildfile中可以设定多个任务 [task],这些任务可以是 编译源码、生成Doc文档、程序测试等;通常会将这些任务组织为一个 目标[target]。

看一个简单的build.xml,大概了解一下

< project  name ="addressbook"  default ="compile"  basedir ="." >

<!--  ===================== Property Definitions ===========================  -->
  
< property  name ="tomcat.home"  value ="C:/jakarta-tomcat"   />
  
< property  name ="app.home"           value ="."   />
  <property name="src.home"          value="${app.home}/src"/>
  
<property name="lib.home"          value="${app.home}/WEB-INF/lib"/>
  
<property name="classes.home"       value="${app.home}/WEB-INF/classes"/>

<!--  ==================== "compile" Target =============================  -->
  
< target  name ="compile"    >
    
< javac  srcdir ="${src.home}"  destdir ="${classes.home}"  debug ="yes"   >
        
< classpath  refid ="compile.classpath" />
    
</ javac >
  
</ target >
</ project >

可以看到build.xml中,project作为根元素(每个buildfile中都会有一个project),然后是定义了两个属性以及一个target。

project元素和target元素的属性,可以看下面的表。

标签属性描述必需的
projectname项目名称No
default没有指定target时,缺省使用的targetYes
basedir作为计算其它路径的基路径。该属性可以被basedir property覆盖,当覆盖时,该属性被忽略。如果属性和basedir property都没有设定,就使用buildfile文件的父目录No
targetnametarget的名字Yes
depends逗号隔开的target名字列表,设定些属性,就意味着本target将依赖于depends设定的targetNo
if执行target所需设定的属性名No
unless执行target所需要清除设定的属性名No
description关于target的描述No

在使用
D:\>Ant
执行时,会先进入到"complie"目标(上面的Ant没有指定target,所以会使用project的default值),编译源码(javac task)

提示:我们可以在ant后面指定想要执行的target,缺省情况下会使用默认的(即:project元素default属性设定的target)。 

通常,要运行一个程序,首先得要编译它的源码,生成可执行文件,然后才运行这个可执行文件。 可以看到这是由两个任务组成,而且运行可执行文件任务依赖编译源码任务。Ant的buildfile中可以定义多个target,同时一个target的执行可以依赖于另一个target,表描这种依赖关系可以通过target元素的depends属性,depends可以设定多个target(以逗号间隔),如:
< target  name ="run"  depends ="mkdir,complie" >
   
<!--
   运行程序
   
-->
</ target >
"run"目标依赖"mkdir"和"complie"目标,也就是运行程序之前,要先建立相关文档目录,编译源码生成可执行文件。
depends属性设定的依赖按左到右的顺序执行,执行命令 Ant run,会先执行"mkdir"目标,执行完后,再到"complie",最后才执行"run"目标

<property>元素,主要是设置一些常用的属性,每个属性都会有一个名称(name),以后再做详解。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值