一、前言:
以前在做JavaEE项目的时候曾经听说过这个名字,但是由于没有用到,所以也没有去学习。最近在研究Android打包的时候,看了下build.xml文件,甚是迷糊,于是学习一下,稍有心得。
二、什么是ant?
ant是一种基于Java的打包工具,非常类似于Linux下的makefile。ant有自己的语法和规范,通常用xml来承载。ant可以集成代码生成、编译、打包等功能(需要说明一下,ant本身并不具备这些功能,只是调用者),使用ant能做到编译、打包一系列流程的自动化,就像生产流水线,一条指令,全程自动生产。
ant工具是使用Java语言编写的,所以依赖jdk,安装ant必须先安装好jdk。同样ant很多扩展的自定义的功能同样可以使用Java编写,后续会详细介绍。
三、ant的基本语法和规范
ant的构建脚本是使用xml文件承载的,缺省命名为build.xml。进入其文件所在目录,可以在cmd中直接使用ant命令调用(前提是先配好bin目录的环境变量)。
我们先来看一下build.xml文件的基本结构:
<?xml version="1.0" encoding="UTF-8"?>
<project name="test" default="build">
<property name="file.dir" value="D://"/>
<property file="local.properties" />
<loadproperties srcFile="project.properties" />
<import file="rules.xml" optional="true" />
<target name="build">
<echo>runing...</echo>
</target>
<target name="debug" depends="build">
<echo level="info">${file.dir} debugging...</echo>
</target>
</project>
project 根标签。name属性表示项目名称,没什么作用;default属性表示默认执行命令,cmd命令行中使用ant和ant default属性值(本例是ant build) 两种方式等效。
property 定义类标签。可以定义一些常量值,需要注意