ant脚本环境搭建及简单语法

一、ant的前世今生

        ant是Apache的一个开源项目,是一种基于Java的构建工具,ant有自己的语法和规范,通常用build.xml来承载。ant可以集成代码生成、编译、打包等功能,使用ant能做到编译、打包一系列流程的自动化,就像生产流水线,一条指令,全程自动生产。ant工具是使用Java语言编写的,所以依赖jdk,安装ant必须先安装好jdk,同样ant很多扩展的自定义的功能同样可以使用Java编写

二、环境搭建

     (1)安装ant。去Apache下载ant安装包,解压到本机指定目录,配置ant运行环境变量。

       




验证ant环境是否安装成功


三、ant简易语法

    |(1) 在使用ant是先要下载一个ant的支持jar

      

     (2)build.xml 常用的标签

      project根标签。name属性表示项目名称,没什么作用;default属性表示默认执行命令,cmd命令行中使用ant ant  default属性值;

       property  定义类标签。可以定义一些常量值,需要注意:定义后理论不能再修改(其实可以通过第三方库修改)。比如第3行定义了一个file.dir的变量,值为”D://“,引用时使用 ${file.dir}调用。第4行,是引入一个properties文件(里面定义了很多property),相当于导包;

      loadproperties  引用标签。表示引入一个properties定义集群。好处是便于封装和管理;

       import  引入标签。和loadproperties不同的是,import是引入另一个构建文件,包括变量和执行命令;

      target  执行标签。可以在cmd命令行中直接ant + target执行,比如以上脚本可以执行: ant build 和 ant debug。target标签中有个depends属性,表示执行命令依赖。如果要执行debug命令,会自动先执行depends里面的命令;

       echo  日志标签。表示日志输出,能在cmd命令中打印显示,level属性表示:日志级别。 比较特殊的是echo中可以引用变量,用法同变量调用方式${name};

       echo  日志标签。表示日志输出,能在cmd命令中打印显示,level属性表示:日志级别。 比较特殊的是echo中可以引用变量,用法同变量调用方式${name};

(3)代码实战

       在任意目录创建一个名为build.xml的文件

       for循环的使用 

       

<?xml version="1.0" encoding="utf-8"?>
<project name="MyProject" default="test">
    <taskdef resource="net/sf/antcontrib/antlib.xml">
        <classpath>
            <pathelement location="E:\software\Sdk\tools\apache-ant-1.10.4/ant-contrib-1.0b3.jar" />
        </classpath>
    </taskdef>
    <!--循环-->
    <target name="test">
        <for list="首页商城,分类,购物车,红包,个人中心" param="letter">
            <sequential>
                <echo>Letter @{letter}</echo>
            </sequential>
        </for>
    </target>
</project>

    命令行执行批处理脚本输出结果

    

     switch语句

<?xml version="1.0" encoding="utf-8"?>
<project name="MyProject" default="test">
    <taskdef resource="net/sf/antcontrib/antlib.xml">
        <classpath>
            <pathelement location="E:\software\Sdk\tools\apache-ant-1.10.4/ant-contrib-1.0b3.jar" />
        </classpath>
    </taskdef>
    <!--switch-->
    <target name="test">
        <property name="WhatName" value="BAT"></property>
        <switch value="${WhatName}">
            <case value="B">
                <echo>百度科技</echo>
            </case>
            <case value="A">
                <echo>阿里巴巴</echo>
            </case>
            <case value="T">
                <echo>腾讯科技</echo>
            </case>
            <case value="BAT">
                <echo>三巨头</echo>
            </case>
        </switch>
    </target>
</project>

  命令行执行输出结果

   

   文件操作

<?xml version="1.0" encoding="utf-8"?>
<project name="MyProject" default="test"> 
  <taskdef resource="net/sf/antcontrib/antlib.xml"> 
    <classpath> 
      <pathelement location="E:\software\Sdk\tools\apache-ant-1.10.4/ant-contrib-1.0b3.jar"/> 
    </classpath> 
  </taskdef>  
  <!--文件操作-->  
  <target name="test"> 
    <!--在指定目录下创建一个文件夹-->  
    <mkdir dir="C:\Users\Administrator\Desktop\ant\test"/>  
    <!--把文件移动到指定的文件夹子-->  
    <move file="C:\Users\Administrator\Desktop\ant\test.txt" tofile="C:\Users\Administrator\Desktop\ant\test\test1.txt"/> 
  </target> 
</project>


猜你喜欢

转载自blog.csdn.net/fengchengwu2012/article/details/80893683