• ◎Ant的使用 buildfile


    ◎Ant的使用 - buildfile

    前面简单的介绍了Ant
    http://www.blogjava.net/x-29/archive/2007/04/09/109426.html

    现在来看一下,如何编写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元素的属性,可以看下面的表。

    标签 属性 描述 必需的
    project name 项目名称 No
    default 没有指定target时,缺省使用的target Yes
    basedir 作为计算其它路径的基路径。该属性可以被basedir property覆盖,当覆盖时,该属性被忽略。如果属性和basedir property都没有设定,就使用buildfile文件的父目录 No
    target name target的名字 Yes
    depends 用逗号隔开的target名字列表,设定些属性,就意味着本target将依赖于depends设定的target No
    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),以后再做详解。

    有关Ant的buildfile,就说到这,下篇说说Ant的常用任务[task]标签

  • 相关阅读:
    ppt 制作圆角三角形
    ROS 错误之 [rospack] Error: package 'beginner_tutorials' not found
    ubuntu下安装搜狗输入法以及出现不能输入中文的解决办法
    <crtdbg.h> 的作用
    mybatis配置
    POJO、Bean和JavaBean
    类类型与反射
    Spring层面的事务管理
    java项目常用架构
    java 遍历数组的几种方式
  • 原文地址:https://www.cnblogs.com/dongzhiquan/p/1994724.html
Copyright © 2020-2023  润新知