ant的使用

在介绍ant使用之前,给大家推荐两个学习ant的链接:

ant基础任务API

ant扩展任务API


大家在网上能很容易搜到的知识点,我在这里就不罗嗦了!下面介绍一下我在开发中遇到的小问题,算是细节吧!

1、执行ant 构建文件命令的区别(具体执行过程大家可以开debug看一下 :  ant -debug -find 文件名.xml)

      1、ant 命令: 默认情况下,在当前目录下查找名为build.xml的构建文件并执行

      2、这三个命令 在当前目录下查找指定的构建文件,如果找不到,则报错

       ant -buildfile 文件名.xml

       ant -file 文件名.xml

       ant -f 文件名.xml

     3、这两个命令  在当前目录下查找指定的构建文件,如果找不到,就会到当前目录的上级目录下查找,在找不到的话,会到当前目录的上上级目录下查找,如果到系统的根目录下还没找到,则报错!

       ant -find 文件名.xml

       ant -s  文件名.xml

下面是我做的测试:
    G:\hrlu_tools\testAnt1.xml文件 

    <project name="anttest" default="test" basedir=".">  
    <target name="test">  
        <echo message="${basedir}"/>  
        <ant antfile="G:\hrlu_tools\udphr\testAnt2.xml"  useNativeBasedir="true"/>  
    </target>  
    </project>  

    G:\hrlu_tools\udphr\testAnt2.xml文件 

    <project name="anttest" default="test" basedir=".">  
    <target name="test">  
        <echo message="${basedir}"/>  
        <ant antfile="G:\hrlu_tools\udphr\testAnt2.xml"  useNativeBasedir="true"/>  
    </target>  
    </project>  

首先在cmd中 进入G:\hrlu_tools\udphr\  这个目录下,执行ant -find antTest1.xml,执行结果如下:

G:\hrlu_tools\udphr>ant -find testAnt1.xml
Searching for testAnt1.xml ...
Buildfile: G:\hrlu_tools\testAnt1.xml

test:
[echo] G:\hrlu_tools

test:
[echo] G:\hrlu_tools\udphr

BUILD SUCCESSFUL
Total time: 0 seconds

但是,如果你执行ant -f antTest1.xml,执行结果如下:

G:\hrlu_tools\udphr>ant -f testAnt1.xml
Buildfile: testAnt1.xml does not exist!
Build failed


看到区别了吧!!!


2、给大家说一下<project name="anttest" default="test" basedir=".">这个里面的basedir属性

属性 :basedir的作用

       用于指定基路径的位置。该属性没有指定时,使用 Ant 的构件文件的当前目录作为基准目录,


      当给basedir指定目录时,会将指定的值赋给basedir,下面是ant 开启debug的执行过程

G:\hrlu_tools\udphr>ant -debug -find testAnt1.xml
Apache Ant(TM) version 1.9.6 compiled on June 29 2015
Searching for testAnt1.xml ...
Searching in G:\hrlu_tools
Buildfile: G:\hrlu_tools\testAnt1.xml
Adding reference: ant.PropertyHelper
Detected Java version: 1.8 in: D:\tools\Java\jdk1.8.0_25\jre
Detected OS: Windows 7
Adding reference: ant.ComponentHelper
Setting ro project property: ant.file -> G:\hrlu_tools\testAnt1.xml
Setting ro project property: ant.file.type -> file
Adding reference: ant.projectHelper
Adding reference: ant.parsing.context
Adding reference: ant.targets
parsing buildfile G:\hrlu_tools\testAnt1.xml with URI = file:/G:/hrlu_tools/test
Ant1.xml
Setting ro project property: ant.project.name -> anttest
Adding reference: anttest
Setting ro project property: ant.project.default-target -> test
Setting ro project property: ant.file.anttest -> G:\hrlu_tools\testAnt1.xml
Setting ro project property: ant.file.type.anttest -> file
<strong><span style="font-size:24px;">Project base dir set to: G:\hrlu_tools</span></strong>

       1、当在一个构建文件中使用<ant>调用其他构建文件时,如何保留其他构建文件中的basedir呢?如下:


    <ant antfile="G:\hrlu_tools\udphr\testAnt2.xml"  useNativeBasedir="true"/>  

          可以选择使用属性:useNativeBasedir值为ture时,保留子构建文件的basedir的值,值为false时 直接引用父构建文件中的值



后续会持续更新.......      

     


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值