- 4
- 0
- 约1.42万字
- 约 21页
- 2016-02-24 发布于江苏
- 举报
Ant脚本开发.doc
Ant(Another Neat Tool)
Ant简介
Ant(Another Neat Tool)主要是设计用于生成java项目的,但这并不是它唯一的用途。
生成工具在软件开发中用来将源代码和其他输入文件转换为可执行文件的形式(也有可能转换为可安装的产品映像形式)。随着应用程序的生成过程变得更加复杂,确保在每次生成期间都是用精确相同的生成步骤,同时实现尽可能多的自动化,以便及时产生一致的生成版本,这就变得更加重要了。C或C++中的传统项目经常使用make工具来做这件事情,其中生成任务是通过调用shell命令来执行的,而以来关系定义在每个构建文件之间,以便它们总是以必须的顺序执行。
Ant和make类似,它也定义构建文件之间的依赖关系;然而与使用特定与平台的shell命令来实现生成过程所不同的是,它使用跨平台的java类。使用ant,你能够编写单个构建文件,这个构建文件在任何java平台上都是一致地操作(因为Ant本身是使用java语言实现的);这就是ant最大的优势。Ant的其他关键优势包括其突出的简单和无缝的使用自定义功能来扩展它的能力。
Ant概述
Ant没有定义它自己的自定义语法,它的构建文件是用XML编写的。存在一组Ant能够理解的预定义XML元素(构建块)。每个构建文件是由单个project(工程)元素组成,该元素又包含一个或多个target(目标)元素。一个目标(target)是生成过程中已定义的一个步骤,它执行任意数量的任务。
任务是构建文件中最小的构建块,它们解决构建中更小粒度的目标。这些任务完成具体的工作,包括编译源代码、打包等。每个任务对应为ant对象模型中的一个java对象。在Ant中不存在没有相应对象的任务,ant中的每个任务都是对象。
例如:
?xml version=”1.0”?
!—default表示project的默认任务是init即执行时从init任务开始,basedir表示基目录,创建构建文件时一般设置为当前目录(构建文件一般放在工程根目录下)--
project default=”init” name=”Project Argon” basedir=”.”
description
A simple project instroducing the use of descriptive tags in ant build files.
/description
!—XML comments can also be used depends表示在此任务执行之前要先执行target1--
target name=”init” description=”Initialize Argon database depends=”target1”
!—perform initialization steps here --
copy …/
delete …/
……
/target
/project
property name=”src.dir” value=”src/com/vanceinfo”/
如上所见在Ant中也可以定义变量在Ant中叫做特性。特性指标是字符串数据的名-值对。除了字符串以外,任何其它数据类型均不能以特性相关联。特性可以间接的与java SDK中的Property对象相关。这说明通过使用特性文件(property file)或JVM命令特性设置,你可以在构建是动态的定义特性。在Ant中的特性一经设置就不可更改,用${src.dir}可以引用定义好的特性。
property file=”perties”/
property元素加载了一个特性文件。此代码将在property元素的basedir特性所指定的目录查找改特性文件。
Ant常见文件操作
创建和删除目录
1.1 mkdir
创建一个目录,如果某目录不存在,则创建该目录。如果需要还会创建其父目录。
属性。第一个参数(all)表示ant版本,第二个参数表示类型,第三个参数表示是否必须存在
dir(all,file,Y)
要创建的目录。
mkdir dir=”dir/dir”/
1.2 delete
删除文件和目录
属性
defaultexcludes(all,Boolean,N)
确定是否使用默认排序模式,默认为true。
dir(all,File,*)
待删除的目录,包括其所有文件和子目录。
excludes(all,String,N)
要配出的文件模式的列表。它们是对默认排除模式的补充。
excudesfile(all,String,N)
每行包括一个排除模式的文件的文件名。
failonerror
如果为true,此任务若失败,则构建过程失败。默认为true。
file(all,File
原创力文档

文档评论(0)