Ant工具的使用

使用Ant工具

只要输入 ant 或 ant.bat  即可,若是运行ant命令时没有指定任何参数,Ant会在当下目录搜索 build.xml 文件,若是找到了就以该文件为生成文件,并执行默认的target。
运行时使用 -find 或 -s ,Ant就会到上级目录搜索生成的文件,直至到达文件系统的跟路径。
若要Ant使用其它生成文件,可以使用 -buildfile <生成文件> 选项,其中 -buildfile 也可以使用 -file 或 -f 来代替,这三个命令的作用完全一样。
比如 ant  -file  a.xml 显示指定 a作为生成文件。
若是希望 Ant 运行时只输出少量必要信息,则可使用 -quiet 或 -q 选项,若是希望ant运行时提供更多信息,则使用 -verbose  -v
此外,ant 还允许指定一些属性来覆盖生成文件中指定的属性值,比如 ant -Dbook=ssh  此命令会覆盖 book 属性值
ant -Dpath=%ANT_HOME%  通过此方法,可以将操作系统中的环境变量传入生成文件。 若是想要访问到该环境变量的值,使用 $path 即可
默认情况下,Ant 将执行生成文件中默认的target,若是要指定target,则   ant [target  [target1 [target2 ...] ] ]  。  

定义生成文件

通常放在项目的跟路径下,通常文件名为   build.xml  ,否则使用 ant 时,要指定生成文件的文件名。
生成文件的根元素是  每个项目下可以定义多个生成目标,每个生成目标以一个元素来定义。

含有以下属性:

name:指定 target 的名称,此属性必须,当运行指定的target,则只需指定target。

depends:该属性指定一个或多个target名,表示运行该target之前应该先运行该depends属性所指定的一个或多个target。

if:该属性指定一个属性名,用属性表示仅当设置了该属性时才执行此 target。

unless : 该属性指定一个属性名,用属性表示仅当没有设置该属性时才执行此 target。

description:指定该target的描述信息。

每个生成目标又可能由一个或者多个任务序列组成,当执行某个生成目标时,实际上就是依次完成该目标所包含的全部任务。

每一个任务由一段可以执行的代码构成。

定义任务的代码格式如下:

其中name是任务的名称,attributeN 和 valueN 表示执行该任务所需的属性名和属性值。

概括讲:一个下有多个 每个下有多个任务。

任务有三种类型:1.核心任务(Ant自带的任务)    2.可选任务(添加了一些jar,然后便多了些任务)3.用户自定义任务(程序员开发的,希望被ant执行的任务)   

除此之外,元素用于定义一个或多个属性,这里的属性是固定的,值不会改变。

若要获取属性值,则  ${属性名}   若是希望Ant 将生成文件中的$当成普通文本,则使用$$。如$${pro}表示字符串${pro}

元素可以接受如下几个常用属性:

name:指定需要设置的属性名

value:指定需要设置的属性值

resource:指定属性文件的资源名称,Ant从属性文件中读取属性和属性值。

file:指定属性文件的文件名,ant从属性文件中读取属性和属性值。

url:指定属性文件的url地址,Ant将负责从属性文件中读取属性名和属性值。

environment:用于指定系统环境变量的前缀,以这种方式可以访问到系统的环境变量。

比如说:

 指定读取 foo.properties 文件中的属性名和属性值。

 指定读取某个url对应的文件中的属性值与属性名。

定义访问操作系统环境变量的前缀是env

定义了上述元素,则可以这样访问环境变量的值,${env.JAVA_HOME}

path元素和classpath元素

使用Ant编译,运行java程序时常常需要引用第三方jar包,这就需要 元素了。

元素作为元素的子元素,一般用于定义一个路径集,一般被引用。

用于收集系列的文件和文件集,这两个元素都可以接受如下子元素。

:采用直接列出文件名指定一些相关文件。

采用模式字符串的方式指定一些相关文件。

采用模式字符串的方式指定一些相关目录。

用于指定一个或多个目录,此元素可以指定如下两个属性中的一个:

1):指定一个或多个目录(jar文件也可以),多个文件使用":"或“;”作为分隔符

2):指定一个目录或者jar文件。

比如:定义/path/to/file2.jar   /path/to/class2 和 /path/to/class3所组成的路径集。

定义由单个文件 lib/helper.jar 构成的目录。

如果指定多个路径集,则应该使用,该元素需要一个dir属性,dir属性指定该路径的根路径。同时还可以指定两个子元素来指定包含和不包含哪些目录。

 

   

若是希望配置多个文件,则可以使用 或者 元素,通常使用模式字符串来匹配文件集,而通过列出文件名来指定文件集。

元素需要指定如下两个属性。

dir:指定文件集所在的基准路径。

files:多个文件名列表,多个文件名之间以"," 或者空格 分隔开。

比如:配置 src/foo.xml 和 src/bar.xml组成的文件集

几乎所有的Ant元素都可以指定id 和refid 属性,其中id为元素指定一个唯一的标识,而refid 用于指定引用另一个元素。

例如: 此元素包含id=docFiles元素所包含元素的全部元素。

此标签还允许指定多个子元素来指定文件列表。

元素可指定如下两个属性:

dir:基准路径,casesensitive :指定是否区分大小写。默认区分大小写。

除此之外,还可以使用include和exclude两个子元素来指定包含和不包含哪些文件,例如下面的配置片段:

包含所有 .java 文件,排除所有的文件名中含有Test子串的文件。

<exclude name="**/*Test*"/>

Ant的任务

每一个target都由多个task组成。

Ant提供了大量核心的task和可选task,还有程序员可以自定义task,扩展了task的功能。

核心task:

javac,java,sql(用于执行一条或多条sql语句,需要driver  url  userid  和 password等属性,表示驱动类,数据库url,用户名和密码,还可以使用src指定所需要的sql脚本文件,或者直接使用文本内容的方式指定sql脚本字符串),echo(输出某个字符串),exec(执行操作系统的特定命令,通常需要executable属性,用于指定想执行的命令)

F:\Ant-1.9.4\apache-ant-1.9.4\manual\Tasks目录下有详细的task的介绍。




你可能感兴趣的:(各种编程工具的使用)