使用Ant构建脚本的步骤
用Ant构建脚本(3)
三、Ant的数据元素和数据类型
Ant的数据类型定义包括三个级别:project-level、target-level和task-level。这里代表了其在Ant中的可视性,如直接定义在project下的project-level,所有的target和task都可以引用它们。 数据元素分为两个部分: 1)特性property; 2)数据类型DataType。 Ant的DataType用于表示一套复杂的数据集,数据类型的定义通常和target平级,即数据类型一般直接在<project>夏衣层定义,当然也有一些直接定义在task中。 Ant的数据类型如下: (1)环境变量environment:传递到buildfile的环境变量; (2)参数argument:从命令行传递到buildfile的参数; (3)文件列表filelist:文件不一定存在; (4)文件集fileset:文件必须存在; (5)模式集patternset; (6)过滤集filterset; (7)路径path; (8)映射mapper:定义了输入与输出文件之间的一套复杂的关系。四、Ant的核心任务与自定义任务
1、Ant的核心任务:指的是Ant内置的任务,不需要使用第三方包就可以直接使用的任务。 Ant还支持一些可选task,一个可选task一般需要额外的库才能工作。 2、<copy>将文件或者文件集复制到一个新的文件或者目录,必须指定其todir的属性值。<copy>支持的常用属性如下: (1)file:要复制的文件; (2)tofile:复制到新的文件的文件名; (3)todir:复制到新的目录的目录名; (4)overwrite:是否覆盖目标文件,默认值为false,即只有当被复制的文件比目标文件新时才复制;如要强制覆盖目标文件,需要将overwrite设置为true。 3、<delete>删除单个或多个文件、单个或多个目录。通常在清除build产生的临时文件和临时目录时会用到<delete>,一般build文件中都会有一个名教clean的target。 <delete>支持的常用属性如下: (1)file:指定要删除的文件; (2)dir:指定要删除的目录; (3)includeemptydirs:当使用文件集fileset时,是否删除空的文件夹,默认为false。 4、<mkdir>创建目录,并且非空的父目录也会被创建。其最常见的属性是 dir:指定要创建的目录,该属性不能省略。 5、<javac>编译器的选择,默认为JDK。 6、<java>执行java程序; 7、<jar>将一些文件集打包成JAR的格式。 8、Ant自定义任务 (1)编写<taskdef>标签,在能够调用自定义的任务之前,需要给它指定一个名称来定义它,并告诉Ant关于实现这个任务的类文件的信息,以及定位该类文件所必须的任何classpath设置。这是使用taskdef任务来完成的。如下: <taskdef name="filesorter" classname="FileSorter" classpath="classes"/> (2)然后就可以象使用Ant核心任务一样使用这个自定义的任务了。