A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

一、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>








1 个回复

倒序浏览
奈斯,加油加油
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马