Ant入门
ant使用指南详细入门教程

ant使⽤指南详细⼊门教程这篇⽂章主要介绍了ant使⽤指南详细⼊门教程,本⽂详细的讲解了安装、验证安装、使⽤⽅法、使⽤实例、ant命令等内容,需要的朋友可以参考下⼀、概述ant 是⼀个将软件编译、测试、部署等步骤联系在⼀起加以⾃动化的⼀个⼯具,⼤多⽤于Java环境中的软件开发。
在实际软件开发中,有很多地⽅可以⽤到ant。
开发环境:复制代码代码如下:System:Windows JDK:1.6+ IDE:eclipse ant:1.9.1⼆、优点ant 是Apache软件基⾦会JAKARTA⽬录中的⼀个⼦项⽬,它有以下的优点: 1、跨平台性:Ant是纯Java语⾔编写的,所以具有很好的跨平台性。
2、操作简单:Ant是由⼀个内置任务和可选任务组成的,⽤ant任务就像是在dos中写命令⾏⼀样。
Ant运⾏时需要⼀个XML⽂件(构建⽂件)。
Ant通过调⽤target树,就可以执⾏各种task。
每个task实现了特定接⼝对象。
3、维护简单、可读性好、集成简单:由于Ant构建⽂件时XML格式的⽂件,所以很容易维护和书写,⽽且结构很清晰。
Ant可以集成到开发环境中。
由于Ant的跨平台性和操作简单的特点,它很容易集成到⼀些开发环境中去。
三、安装和配置2、解压zip压缩包,将压缩包放置你要放置的⽬录。
我这⾥放置在D:\apache-ant-1.9.1,⽬录结构如下:bin是ant的程序运⾏⼊⼝,如果没有配置ANT_HOME的情况下,可以通过bin⽬录中的bat程序进⾏运⾏build任务。
如:在cmd中运⾏ant.bat就可以执⾏程序,当然你选择要当前⽬录中存在⼀个build.xml(build.xml是默认的ant执⾏⽂件,当然你可以指定其他⽂件)etc⽬录中存放的都是⼀些xsl的输出模板,创建⼀个加强的导出各种任务的XML输出,使你的build⽂件摆脱过时的警告lib⽬录中存放的是ant程序需要依赖的jar包manual⽬录是ant程序的帮助⽂档3、在我的电脑 –> 右键属性 –> ⾼级系统配置 -> 环境变量中配置ant新建系统变量 ANT_HOME = D:\apache-ant-1.9.1这样环境变量就配置好了,但前提你需要配置jdk的环境变量。
ANT使用说明

ANT使用说明一.准备工作1.数据转换a.测试数据转换为ANT 所要求的数据表。
“预处理”…“扫频数据转换”…填如入有关选择题和GPS精度值(默认为3)。
将解压处理后的采集数据(后缀为*.TXT)转换为GIS地理信息“.TAB ”格式。
由于原始数据格式不同,分为“通话测试数据转换”或“扫频测试数据转换”分别对.TXT 和.SCN后缀文件分别做转换。
“通话分析”和“扫频分析”功能的转换由“帮助…关于…来完成。
在TEMS中扫频测试得到的数据*.SCN,可直接在ANT 扫频分析功能模块中完成数据转换。
“纯数据转换”和“数据转换并生成测试报告”的区别在于后者将同时生成有关无线网的7类测试统计报告,具体报告内容请参考第十章内容。
b。
地理点平滑处理:ANT对转换输出的*.TXT文件做完善的预处理过程。
包括每一帧信令数据的制式转换、地理点差值补点、平滑处理、创建地理化数据库。
处理后的特点:该处理得到的测量数是测试手机实际接收的信号帧数,是采集测试过程中Um接口上下行帧通信数据的完整记录。
何时采用本转换:在网络优化工程中针对第三层信令的观测分析和在生成信令事件统计报告中请用地理点平滑处理选择。
c。
滤除相同经纬度:ANT针对网络普查的需要。
需要大幅度减少同一地理位置的数据处理量,而不影响从统计角度反映整个网络的现状。
处理过程包括只提取相同经纬度第一点的帧数据行、数据制式转换、创建地理化数据库。
该处理得到的测量数是测试手机过程中GSM的采样次数(一般为1次/秒)。
处理的特点:处理时间快,但只对关心RXLEV和RXQUAL等无线参数而非信令的用户宏观,了解网络质量观测分析有意义。
何时采用本转换:在网络优化工程中做无线环境质量普查,生成全网的场强或无线误码分布地图和无线参数分布统计报告请用“地理点平滑处理”选择。
涉及信令事件处理的功能就没有意义了。
处理后的结果文件名带有后缀F。
如: 0318_1. txt 转换后为0318_1F.tab 。
Ants基础知识

以下资料为java培训为大家整理发布:了解有关Java包、变量的概念,以及对象通过方法相互交互的方式。
在 Wombat 对象基础知识和 Wombat 类基础知识这两篇文章中,您学习了关于对象、类、方法,以及语言和语法的基础知识。
在初级开发人员系列的第 3 部分,您将学习:如何编写依赖其他Java类(或 Java API)的 Java 应用程序、什么是变量、如何使用变量,以及对象通过方法相互交互的方式。
本文中,需要在计算机中安装以下软件:Java SE 软件Greenfoot本文面向对 Java 编程感兴趣的任何读者,无需编程经验。
在开始阅读本文之前,建议您阅读并遵循 Wombat 对象基础知识和 Wombat 类基础知识中的有关说明。
在 Ants 中查看包和变量在本教程中,通过 Scenario 菜单打开 Ants 场景,然后选择 Open。
应该可以看到 scenarios 文件夹。
选择 ants 并单击 Open,如图 1 所示:图 1. 打开 Ants 场景Ants 场景将显示在新窗口中。
如果您在画面中没有看到沙色的界面,单击场景主画面底下的Compile All 按钮。
单击 Run,当蚂蚁离开蚁丘寻找食物堆时,请仔细观察。
当蚂蚁发现食物并运回蚁丘时,它们就创建了气味路径,或者相当于 pheromone 路径,随着更多的蚂蚁发现了食物的路径并返回蚁丘,气味路径变得越来越清晰。
和 Wombat 场景一样,可以在场景中放置更多的蚂蚁或蚁丘。
在 ants 场景中单击 Run,应该能看到如图 2 所示的内容。
图 2. 运行 Ants 场景导入声明和包右键单击 Actor 类下方的 Ant 对象,并选择 Open Editor。
注意代码的第一行:import greenfoot.*; // (World, Actor, GreenfootImage, and Greenfoot)import java.util.Random;import java.util.List;importjava.util.Collection;import java.util.Iterator;这些语句称为导入声明。
ant 语法

【—ant—】单词ant(n)蚂蚁ante(n)赌注,款项anti(aj)反对的(n)反对者antsy(aj)坐立不安的,焦虑的anthem(n)圣歌,赞美诗antics(n)滑稽动作antler(n)鹿角antenna(n)天线,触须anterior(aj)前面的Anthill(n)蚁冢antique(aj)古老的,过时的anthrax(n)炭疽anteater(n)食蚁兽antedate(vt)先于anteroom(n)前厅,接待室antibody(n)抗体antidote(n)解药,矫正方法antelope(n)羚羊anthology(n)选集Antarctic(aj)南极的antifreeze(n)防冻剂antiquity(n)古代,古迹AntiVirus(n)抗病毒液antagonism(n)对抗,敌对antibiotic(n)抗生素antimatter(n)反物质antisocial(aj)反社会的antiseptic(n)杀菌剂,防腐剂antiquated(aj)过时的,废弃的anticipate(vt)预感,期望anthropology(n)人类学anticipation(n)预期,希望antidepressant(n)抗抑郁剂anthropologist(n)人类学家aberrant(aj)脱离常轨的abundant(aj)丰富的abundantly(adv)十分清楚,丰富地abradant(n)研磨剂(aj)有摩擦力的accelerant(n)促进剂,触媒accordant(aj)一致的administrant(n)行政官(aj)管理的adulterant(n)掺杂物alternant(aj)交替的altisonant(aj)崇高的arrogant(aj)自大的arrogantly(adv)傲慢地avant(aj)先进的bantam(n)矮脚鸡(aj)有攻击性的banter(n)逗弄,戏谑bantin(n)爪哇野牛bantering(aj)嘲弄的banteringly(adv)半开玩笑地bugantia(n)冻疮cant(n)斜面,黑话,角落canto(n)篇章canty(aj)明朗的,快活的canter(n)慢跑,流浪汉cantle(n)鞍尾canton(n)行政区,州cantor(n)领唱者cantus(n)旋律cantata(n)大合唱canteen(n)水壶,食堂,小卖部canthus(n)眼角cantina(n)酒吧canticle(n)颂歌cantabile(aj)如歌的Cantonese(n)广东人,粤语cantilever(n)悬臂cantonment(n)宿营地,兵营cantaloupe(n)哈密瓜cantankerous(aj)脾气不好的chant(n)圣歌,旋律conjugant(n)接合体dant(n)次煤danty(n)风化煤fantad(n)烦躁,惊恐fantail(n)扇尾鸽fantasm(n)幻觉fantast(n)幻想家fantasy(n)幻想,幻觉(aj)虚幻的fantasia(n)幻想曲fantastic(aj)极好的,巨大的fantasize(vt)幻想fantasound(n)立体声fantascope(n)幻视器fantastically(adv)非常地,空想地fantasmagoria(n)幻觉效应elegant(aj)高雅的,讲究的gantle(n)长手套,手腕gantry(n)桶架gantlope(n)夹攻,折磨hant(n)鬼(vt)常去,缠住lantern(n)灯笼manta(n)外套mantel(n)壁炉架mantic(aj)预言的,占卜的mantis(n)螳螂mantle(n)地幔,衣钵,斗篷mantra(n)颂歌,咒语mantua(n)女外套manteau(n)斗篷,披风mantrap(n)捕人陷阱mantelet(n)小斗篷mantissa(n)尾数,假数,小数部分Mantelpiece(n)壁炉台mantelshelf(n)壁炉架nant(n)小河谷pant(n)喘息,悸动panto(n)哑剧pants(n)短裤panty(n)女裤pantry(n)餐具室panties(n)女式短裤panther(n)美洲豹pantile(n)筒瓦pantheon(n)万神殿pantsuit(n)裤套装pantheist(n)泛神论者pantheism(n)泛神论pantograph(n)缩放仪pantaloons(n)马裤pantomime(n)童话剧pantechnicon(n)家具仓库rant(vt)咆哮,痛骂ranter(n)大叫大嚷的人rantipole(n)顽童,泼妇rantankerous(aj)不怀好意的santa(n)圣诞老人tanto(adv)太多tantrum(n)发怒tantalum(n)钽tantalize(vt)引诱,折磨vantage(n)有利情况,优势want(vt)需要,希望wants(n)欲望,必需品wanted(aj)被通缉的wanton(aj)荒唐的(n)荡妇wantage(n)缺少数量wanting(aj)欠款的,不足的wantable(aj)吸引人的wantless(aj)充裕的,富有成果的wantonly(adv)放纵地wantonness(n)繁茂,嬉戏。
ant项目的基本结构

ant项目的基本结构在进行Ant项目开发之前,了解其基本结构是非常重要的。
Ant是一个流行的构建工具,用于自动化构建、测试和部署Java项目。
它基于XML,具有可扩展性和灵活性,能够根据项目需求进行定制。
Ant项目的基本结构如下所示:1. 项目根目录:Ant项目的根目录是项目的主要目录,通常包含build.xml文件和源代码、资源文件等。
2. build.xml文件:这是Ant项目的核心文件。
它使用XML格式描述了项目的构建脚本和任务。
build.xml文件中包含了一系列目标(target),每个目标都是一个独立的构建任务,可以单独执行。
目标之间可以相互依赖,形成构建流程。
3. 目标(target):目标是Ant构建过程中的基本单位,它定义了项目构建的一段具体操作或任务。
每个目标可以包含多个任务(task),任务按照定义的顺序依次执行。
目标还可以指定一些属性(property)和条件(condition),以控制构建过程。
4. 任务(task):任务是目标中的具体操作步骤。
Ant提供了丰富的内置任务,例如编译Java代码、拷贝文件、运行测试等。
除了内置任务,Ant还支持自定义任务,开发者可以根据需求编写自己的任务,并集成到构建过程中。
5. 属性(property):属性用于存储项目中的常量值或配置信息。
可以在build.xml文件中定义属性,并在任务中引用。
属性值可以通过命令行参数传入,也可以从外部文件加载。
6. 条件(condition):条件用于根据特定的条件执行或跳过某些任务。
Ant提供了丰富的条件表达式,例如文件存在判断、环境变量判断等。
通过条件,可以在构建过程中做出不同的判断和处理。
通过理解Ant项目的基本结构,我们可以更好地组织和管理项目代码,提高开发效率。
在实际使用Ant进行项目构建时,可以根据具体需求进行配置和定制,灵活应对不同的项目要求。
在这个过程中,不仅可以熟悉Ant的各种任务和属性,也可以深入了解项目的构建流程和依赖关系,进一步提升项目的质量和可维护性。
linux ant用法

linux ant用法Ant是一种流行的自动化构建工具,用于构建、测试和部署软件项目。
在Linux环境中使用Ant可以帮助您更高效地管理软件开发过程。
下面将介绍如何使用Ant在Linux上构建和运行项目。
一、安装Ant首先,您需要在Linux系统上安装Ant。
您可以从官方网站下载适用于您的Linux发行版的Ant版本,并按照安装指南进行安装。
安装完成后,您可以使用命令行工具来验证Ant是否已正确安装。
二、创建构建文件在项目根目录下创建一个名为“build.xml”的构建文件,该文件将包含您的项目配置和构建脚本。
构建文件使用XML格式编写,其中包含一组XML标签和属性,用于定义构建过程中的不同阶段。
三、配置构建文件构建文件中的XML标签定义了各种构建任务,如编译代码、运行测试、打包项目等。
通过配置这些任务,您可以指定相应的执行顺序和依赖关系。
例如,以下是一个简单的build.xml文件示例,用于编译Java项目:```php<projectname="myproject"default="dist"><targetname="compile"><mkdirdir="dist"/><javacsrcdir="src"destdir="dist"/></target></project>```在这个示例中,我们定义了一个名为“compile”的目标,它将在“src”目录下编译Java源代码,并将编译后的类文件输出到“dist”目录中。
四、运行构建任务要运行构建任务,您可以使用Ant命令行工具或构建工具(如Maven)来执行build.xml文件中的任务。
例如,要编译Java项目并运行测试,您可以使用以下命令:```shellantcompiletest```这将根据build.xml文件中的配置执行相应的构建任务,并输出构建过程中的任何错误或警告信息。
ant规则

ant规则Ant规则是一种常用于构建自动化构建和持续集成的工具。
Ant规则由一系列任务组成,每个任务都完成一个特定的操作。
在Ant规则中,可以定义任务之间的依赖关系,以及任务的执行顺序。
Ant规则的基本结构由标签和属性组成。
标签用于定义任务,属性用于配置任务的行为。
Ant规则中最常用的标签包括<project>、<target>、<property>和<task>等。
<project>标签用于定义整个Ant项目。
在<project>标签中,可以定义全局属性和全局任务。
全局属性可以在整个Ant项目中使用,全局任务可以在任意位置调用。
<target>标签用于定义一个任务。
在<target>标签中,可以定义任务的依赖关系和执行顺序。
任务的依赖关系可以通过depends属性指定,多个依赖任务之间用逗号分隔。
<property>标签用于定义一个属性。
属性可以用于配置任务的行为。
属性的值可以通过value属性指定,也可以通过其他标签或外部文件动态设置。
<task>标签用于定义一个Ant任务。
Ant提供了丰富的内置任务,如编译Java代码、打包文件、运行测试等。
除了内置任务,还可以通过编写自定义任务来扩展Ant功能。
Ant规则的执行顺序是根据任务的依赖关系确定的。
当执行一个任务时,Ant会自动解析该任务的依赖关系,并按照依赖关系的顺序执行任务。
如果有循环依赖,Ant会报错并终止执行。
Ant规则还支持条件执行和循环执行。
可以通过if属性和unless属性来指定任务的条件执行,也可以通过for和while标签来实现循环执行。
除了基本的标签和属性,Ant规则还支持一些高级功能,如文件集合、文件操作、路径操作等。
通过这些功能,可以更方便地处理文件和路径。
Ant规则是一种强大而灵活的自动化构建工具。
它可以帮助开发人员简化构建过程,提高开发效率。
Ant入门与进阶

第一讲Ant入门1 Ant介绍1.1 Ant的起源Ant的作者James Duncan Davidson 给《Ant权威指南》一书做过评论,现在我们就引用这段评论来说明Ant的起源。
1998年,有一位程序员改变了整个Java 世界。
James Duncan Davisdson在试图使用当时的构建工具(GNU Make、批处理文件和shell脚本)来创建一个跨平台的Tomcat构建时,做了多种努力均不能成功。
因此,他在从欧洲飞回美国的途中设计出了自己的构建实用工具,并为命名为Ant,因这是一个小东西,但却能做大事。
James为了解决自己的问题(即创建一个跨平台的构建)而提出的这种快速而简单的解决方案已经演变成Java环境中应用最为广泛的构建管理工具。
如果你在用Java进行开发,而没有使用Ant,那么确定应该拥有这本不算厚的书。
Ant是一个可靠的、跨平台的构建工具,它可以充分利用Java环境的优势。
Ant本身也是用Java编写的,它可在多个平台(如Unix、Linux以及Windows等等)上工作,因此如果你要转换开发平台,那么学习Ant是值得的,Ant很容易扩展。
在你的工程中,目前是否存在某个需求,而所有Ant功能对此都不能予以满足呢?没有问题!你完全可以像James一样,编写自己的Ant任务。
没准儿你也能改变这个世界呢!以上是使用Ant可以完成的一些工作:·定义构造块、它们必须产生的结果以及它们之间的依赖关系;·自动地由诸如CVS等源代码控制系统获取源代码;·不仅可令Ant以适当的顺序编译必要的源文件,而且还可生成部署都所必需的JAR文件,由此完成应用的构造;·仅需由一个构造文化(或一组构建文件)即可完成以上所有工作,而构建文件在Ant支持的所有平台上都会有同样的表现。
要进行eXtreme(极限)编程吗?Ant就是一个必备工具,利用它可以方便地完成频繁的构建,以此又将有利于使用JUnit和相关技术进行测试驱动的开发。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
本教程所讲述的内容在本教程中,您将学习 Ant 这个 Java TM项目生成工具。
由于其灵活性和易用性,Ant 很快在 Java 开发人员中流行开来,因此您有必要了解关于它的更多信息。
在继续学习本教程之前,你不需要具备先前的 Ant 经验或知识。
我们将首先查看 Ant 生成文件(build file)的基本结构,并学习如何调用这个工具。
我们将逐步完成为一个简单 Java 项目编写生成文件的步骤,然后考察 Ant 的其他一些有用功能,包括文件系统操作和模式匹配。
最后编写一个扩展 Ant 功能的自己的 Java 类来结束本教程。
在学习本教程的过程中,我们将同时展示如何从命令行以及从其他开放源代码 Eclipse IDE 运行 Ant。
试验本教程中的例子不需要同时具备这两种环境;您可以选择其一,甚至选择某种不同的开发环境,只要该环境支持 Ant。
如果选择从命令行使用 Ant,并且 Ant 还没有安装到机器上,您需要遵循 Ant 主页上的安装说明(请参阅参考资料以获得相关链接)。
相反,如果决定仅使用 Eclipse 环境,您不需要单独安装 Ant,因为 Eclipse 已经包括了它。
如果还没有Eclipse,您可以从 (请参阅参考资料)下载 Eclipse。
谁应该学习本教程?如果您正在编写 Java 代码却还没有使用 Ant,那么本教程就是为您准备的。
不管您当前是否在使用某种不同的生成工具,或者根本就没有使用生成工具,了解关于 Ant 的更多知识或许会促使您转而使用它。
如果已经在使用 Ant,那么您仍然可能在本教程中发现一些有趣的东西。
或许您会发现一些预料之外或无法完全理解的 Ant 行为;本教程将会帮助您。
或者,也许您熟悉 Ant 的基础,但是还想知道诸如将生成文件链接起来、使用 CVS 知识库或编写自定义任务等高级主题;本教程将会介绍所有这些主题。
Ant 主要是设计用于生成 Java 项目的,但这并不是它唯一的用途。
许多人发现它对其他任务也很有帮助。
比如以跨平台的方式执行文件系统操作。
此外,还有许多可用的第三方 Ant 任务,而编写自定义的 Ant 任务也是相对简单的,因此很容易针对特定的应用程序定制 Ant。
关于作者Matt Chapman 1996 是英国 Hursley 的 IBM Centre for Java Technology 的咨询软件工程师。
他过去七年来一直致力于 Java 技术,包括 Java 虚拟机实现和各类平台、用户界面工具包 Swing 和 AWT,以及近来为 Eclipse 平台所编写的工具。
Matt 拥有计算机科学方面的学位,并且还是一名 Sun 认证的 Java 程序员。
可通过mchapman@与他联系。
简介本节将概述 Ant 的功能和优势,并讨论它的历史概况和日渐提高的普及性。
然后我们通过考察一个最基础的生成文件的基本结构,直接进入对 Ant 基础的讨论。
我们还会介绍属性和依赖关系的概念。
Ant 是什么?Apache Ant 是一个基于 Java 的生成工具。
据最初的创始人 James Duncan Davidson 介绍,这个工具的名称是another neat tool(另一个整洁的工具)的首字母缩写。
生成工具在软件开发中用来将源代码和其他输入文件转换为可执行文件的形式(也有可能转换为可安装的产品映像形式)。
随着应用程序的生成过程变得更加复杂,确保在每次生成期间都使用精确相同的生成步骤,同时实现尽可能多的自动化,以便及时产生一致的生成版本,这就变得更加重要了。
C 或 C++ 中的传统项目经常使用make工具来做这件事情,其中生成任务是通过调用 shell 命令来执行的,而依赖关系定义在每个生成文件之间,以便它们总是以必需的顺序执行。
Ant 与make类似,它也定义生成文件之间的依赖关系;然而,与使用特定于平台的 shell 命令来实现生成过程所不同的是,它使用跨平台的 Java 类。
使用 Ant,您能够编写单个生成文件,这个生成文件在任何 Java 平台上都一致地操作(因为 Ant 本身也是使用 Java 语言来实现的);这就是 Ant 最大的优势。
Ant 的其他关键优势包括其突出的简单性和无缝地使用自定义功能来扩展它的能力。
但愿您在完成本教程其余内容的学习之后,会欣赏 Ant 的这些优势。
Ant 简史Ant 最初是 Tomcat 的一个内部组件,Tomcat 是 Java Servlet 和 JavaServer Pages (JSP) 参考实现中使用的 servlet 容器。
Tomcat 代码基被捐赠给了 Apache 软件基金会;在那里它又成了 Apache Jakarta 项目的组成部分,该项目致力于为 Java 平台产生开放源代码的服务器端解决方案。
Ant 的有用性很快得到了认可,对它的使用遍布在其他 Jakarta 子项目中。
因而,它自己也成了一个 Jakarta 子项目,其第一个独立版本于 2000 年 7 月发布。
从那以后,Ant 的普及性已经不断地提高。
它赢得了无数的行业大奖,并成为用于生成开放源代码 Java 项目的事实上的标准。
2002 年 11 月,这些成功得到了确认,Ant 被提升为顶级 Apache 项目。
在本文编写之际,Ant 的当前稳定版本是 1.5.4,它支持 1.1 以后的所有 JDK 版本。
下一个版本(即 1.6 版)的 beta 版也已经可用,这些版本需要 JDK 1.2 或更高版本。
未来的 2.0 版也正在计划之中,它将涉及一次重大的体系结构重新设计。
Ant 2.0 将以改进的一致性和增强的功能为特色,同时仍然保持 Ant 的简单性、易于理解性和可扩展性等核心目标。
Ant 生成文件剖析Ant 没有定义它自己的自定义语法;相反,它的生成文件是用 XML 编写的(请参阅参考资料)。
存在一组 Ant 能够理解的预定义 XML 元素,而且就像您将在下一节中看到的一样,还可以定义新的元素来扩展 Ant 的功能。
每个生成文件由单个project元素组成,该元素又包含一个或多个target元素。
一个目标(target)是生成过程中已定义的一个步骤,它执行任意数量的操作,比如编译一组源文件。
这些操作本身是由其他专用任务标签执行的,我们将在后面看到这一点。
然后这些任务将根据需要被分组到各个target元素中。
一次生成过程所必需的所有操作可以放入单个target元素中,但是那样会降低灵活性。
将那些操作划分为逻辑生成步骤,每个步骤包含在它自己的target元素中,这样通常更为可取。
这样可以执行整体生成过程的单独部分,却不一定要执行其他部分。
例如,通过仅调用某些目标,您可以编译项目的源代码,却不必创建可安装的项目映像。
顶级project元素需要包含一个default属性,如果在 Ant 被调用时没有指定目标,这个属性将指定要执行的目标。
然后需要使用target元素来定义该目标本身。
下面是一个最基本的生成文件:<?xml version="1.0"?><project default="init"><target name="init"></target></project>注意这是一个结构良好的 XML 文档,其中一个 XML 声明指定了所使用的 XML 的版本(这不是当前的 Ant 所必需的,但是这样做是一个好习惯),而且每个元素都正确地关闭了。
一次性打开和关闭一个元素也是可以做到的。
因此,与其像上面那样对target元素使用单独的起始和结束标签,我们可以将它写为如下形式:<target name="init"/>当元素没有包含任何内容时,更简练的形式会更清晰。
添加描述:我们在前一小节中看到的生成文件是优雅简练的,但它并没有包含多少关于正在生成的实际项目的信息。
可以通过许多方式来使它更具描述性,同时无需改变其功能。
下面是一个例子:<?xml version="1.0"?><project default="init" name="Project Argon"><description>A simple project introducing the use of descriptive tags in Ant build files. </description><!-- XML comments can also be used --><target name="init" description="Initialize Argon database"><!-- perform initialization steps here --></target></project>可以看出,XML 注释可以使用在整个生成文件中以提高清晰性。
而且,Ant 定义了它自己的description元素和description属性,它们可用于提供更结构化的注释。
属性Ant 中的属性类似编程语言中的变量,它们都具有名称和值。
然而与通常的变量不同,一经设置,Ant 中的属性就不可更改;它们是不可变的,就像 Java 语言中的String对象。
这起初看来似乎很有限制性,但这样是为了遵循 Ant 的简单原则:毕竟,它是一个生成工具,而不是一种编程语言。
如果尝试给某个现有属性赋予一个新的值,这不会被看作是一个错误,但是该属性仍然会保留其现有值。
(我们将会看到,这种行为是有用的。
)基于元素的描述性名称和到目前为止所见到的属性,在 Ant 中用于设置属性的机制看起来如下就没有什么奇怪了:<property name="metal" value="beryllium"/>为了在生成文件的其他部分引用这个属性,您会使用以下语法:${metal}例如,为了使用这样一个值,它是另一个属性的值的组成部分,您会将标签写为下面这样:<property name="metal-database" value="${metal}.db"/>Ant 中有许多预定义的属性。
首先,Java 环境设置用于运行 Ant 的所有系统属性,均可作为Ant 属性使用,比如${user.home}。