图解与代码Ant实现Java项目的自动构建和部署
- 格式:docx
- 大小:181.93 KB
- 文档页数:12
使⽤ant⾃动构建apk最近因渠道过多,需要单独接⼊渠道⽀付sdk的渠道也很多,⽽⾸发在即、⼈⼿不⾜,所以着⼿了部分相关的⼯作,看了下⽬前的操作流程。
⽆奈⼈⽐较懒,所以决定进⾏⼀波简化,先考虑了两种⽅案:1)脚本批处理2)ant⾃动构建(eclipse的打包⽅式)Tip:使⽤ant的构建⽅式,对环境变量有⽐较严格的要求(SDK/JDK等)!⾸先,了解下ant的build.xml的使⽤:最简单的⽅式,先对已有项⽬⾃动化⽣成build.xml等⽂件,使⽤Android SDK⾃带的⼯具:android.bat(⽬录<SDKPath>/tools/android.bat,⼀般会放到环境变量中),命令⾏调⽤⽅式如下:(<SDKPath>/tools/)android update project --path ProjectPath,调⽤结束即会在项⽬路径下⽣成build.xml等⽂件,接下来我们下来分析下⾃动⽣成的⼏个⽂件:1)build.xml(这⾥,我省略了⾃动⽣成时的注释内容,⼤家可以⾃⾏阅读)<?xml version="1.0" encoding="UTF-8"?><project name="ProjectName"default="help"> <!-- 这⾥的ProjectName即为最终⽣成时的apk名,help为默认要执⾏的⽅法--> <property file="local.properties" /> <!-- 引⽤的外部定义⽂件,⽅便定制 --> <property file="ant.properties" /> <!-- ant.properties⽂件并⾮⾃动⽣成,因此后续的定制信息,我们可以直接在这个⽂件中定义 --> <property environment="env" /> <!-- 系统的环境变量信息 --><condition property="sdk.dir" value="${env.ANDROID_HOME}"> <!-- 条件判断,如果环境变量中设置了ANDROID_HOME,则定义sdk.dir属性 --> <isset property="env.ANDROID_HOME" /> </condition><loadproperties srcFile="project.properties" /> <!-- 在细分功能时,属性会分散到多个properties⽂件中进⾏定义,此处是导⼊需要的⽂件中定义的property元素 --><failmessage="sdk.dir is missing. Make sure to generate local.properties using 'android update project' or to inject it through the ANDROID_HOME environment variable." unless="sdk.dir"/> <!-- 校验,没有定义sdk.dir则失败 /manual/Tasks/fail.html --><import file="custom_rules.xml" optional="true" /> <!-- 导⼊同⽬录下的custom_rules.xml⽂件(⾮强制,⽂件允许不存在) --><import file="${sdk.dir}/tools/ant/build.xml" /> <!-- 默认optional为false,强制导⼊ --></project>Tip:ant的设计中,当有引⽤、依赖⽂件存在时,如有重复项/冲突项,以先加载的内容为主2)local.properities及project.properties伴随build.xml⾃动⽣成的另外两个⽂件,local.properities⽂件定义了sdk的路径信息,project.properties⽂件则定义了当前⼯程的相关设置信息分析完⾃动⽣成的⽂件,我们来继续刚才分析build.xml的思路深⼊分析⼀下,在改⽂件的最后,导⼊了sdk提供的内置的build.xml⽂件(为区分期间,前者称为auto_build.xml,后者为sys_build.xml),我们继续分析下sys_build.xml⽂件,鉴于⽂件⽐较⼤,这⾥只针对⼏个在处理⾃动化构建中需要关注的点进⾏说明:在构建release版本时,需要⽤到keystore⽂件,因此我们后⾯我们需要对相关属性进⾏配置。
ant 操作手册
Ant是一个用于自动构建项目的工具,它可以处理依赖关系、编译代码、运行测试、打包应用程序等任务。
以下是Ant操作手册的基本步骤:
1. 安装Ant:首先需要下载并安装Ant,可以从Ant官方网站下载。
安装完成后,可以在命令行中输入`ant`命令来检查是否安装成功。
2. 创建文件:Ant使用XML格式的构建文件来定义项目的结构和构建过程。
在项目的根目录下创建一个名为``的文件,该文件将包含构建项目的所有指
令和任务。
3. 编写构建文件:使用XML语言编写``文件,定义项目的各个构建步骤。
例如,可以使用`<javac>`元素来编译Java源代码,使用`<jar>`元素来打
包应用程序等。
4. 运行Ant:在命令行中输入`ant`命令并指定要执行的任务名称,例如`ant compile`表示编译项目,`ant jar`表示打包应用程序。
Ant将根据构建文件
中的定义执行相应的任务。
5. 调试构建文件:如果构建文件有问题或出现错误,可以检查构建文件的语法和结构,确保所有元素和属性的使用都是正确的。
可以使用Ant提供的`-debug`选项来启用调试模式,以便更好地了解构建过程的执行情况。
6. 维护构建文件:随着项目的不断发展和变化,构建文件也需要进行相应的更新和维护。
需要随时关注项目的需求和变化,调整构建文件的指令和任务,以确保构建过程的正确性和有效性。
以上是Ant操作手册的基本步骤,希望对您有所帮助。
[Java]ApacheAnt构建基础教程环境:Ubuntu 12.04, java 1.7.0, ant 1.8.2。
前⾔Apache Ant 是⼀个软件⾃动化构建⼯具,构建过程包括编译、测试和部署等。
它和 Make ⼯具相似,但由 Java 实现,所以要求 Java 运⾏环境,⾮常适合构建 Java 程序。
Ant 和 Make 明显不同之处在于 Ant 使⽤ XML 来表述构建过程与依赖关系,⽽ Make 使⽤ Makefile 格式⽂件。
Ant 默认的构建⽂件名为 build.xml。
每⼀个 build.xml ⽂件包含⼀个 <project> 和⾄少⼀个默认的 <target>,<target> 中包含许多 task elements。
每个 task element 有⼀个作为引⽤的唯⼀ ID。
Ant 是 Apache 开源项⽬,以 Apache License 发⾏。
历史Ant(意为 Another Neat Tool,另⼀个好⽤的⼯具。
)最初的构想来⾃于 James Duncan Davidson,当时他正在开发 Sun 公司的 JSP/Servlet 引擎,也就是后来的 Apache Tomcat。
当时 Solaris 平台有⼀个专属版本的 make 可以⽤来构建 JSP/Servlet,但是在开源世界不能对使⽤那个平台来构建 Tomcat 做出控制,因此 Ant 被开发出来,作为⼀个与平台⽆关的⼯具来构建 Tomcat,并使⽤ XML ⽂件作为其构建⽂件。
Ant 1.1 在 2000 年 7 ⽉ 19 ⽇作为独⽴产品公开发⾏。
有⼀些提案被⽤于 Ant 2,例如 James Duncan Davidson 的 AntEater, Peter Donald 的 Myrmidon,Conor MacNeill 的 Mutant。
但它们都没有被开发者社区⼴泛接受。
ant java 参数Ant是一种基于Java的自动化构建工具,它可以帮助开发者自动化构建、测试和部署项目。
Ant是一个轻量级的工具,可以使用简单的XML语法编写构建脚本,支持跨平台操作。
在使用Ant构建项目时,常使用“ant java”命令来编译、运行Java程序。
在使用“ant java”命令时,我们可以使用参数来设置编译和运行Java程序的相关参数。
下面是一些常用的参数:1. srcdir:指定Java源代码的目录。
默认情况下,Ant会在当前目录中寻找源文件。
2. destdir:指定编译后的class文件的存放路径。
默认情况下,编译后的class文件会存放在当前目录中。
3. classpath:指定编译和运行Java程序时所需的类路径。
可以用“classpathref”参数引用另一个类路径。
4. includeantruntime:指定是否包含Ant运行时类库。
如果设置为false,则Ant不会包含运行时类库。
5. fork:指定是否启动另一个Java虚拟机来运行Java程序。
如果设置为true,则Ant会启动一个独立的Java虚拟机来运行程序。
6. jvm:指定要使用的Java虚拟机的路径。
可以使用“executable”参数来指定可执行文件的路径。
7. jvmargs:指定在启动Java虚拟机时要传递给虚拟机的参数。
可以使用“arg”子元素来设置多个参数。
8. verbose:指定是否打印详细日志信息。
如果设置为true,则Ant会输出更详细的日志信息。
9. maxmemory:指定在启动Java虚拟机时要分配的最大内存量。
可以使用“1k”、“1m”、“1g”等单位来设置内存大小。
10. failonerror:指定是否在编译或运行过程中出现错误时终止构建过程。
如果设置为true,则Ant会在出现错误时停止构建过程。
使用“ant java”命令时,我们可以根据实际需要设置上述参数。
例如,下面的代码演示了如何使用“ant java”命令编译、运行Java程序,并指定类路径和最大内存量:```<target name="compile"><javac srcdir="src" destdir="bin"><classpath><pathelement location="lib/mylib.jar"/></classpath></javac></target><target name="run"><java classname="myapp.Main" fork="true"maxmemory="256m"><classpath><pathelement location="bin"/><pathelement location="lib/mylib.jar"/></classpath></java></target>```在以上示例中,我们定义了两个目标:一个是“compile”,用于编译Java程序;另一个是“run”,用于运行Java程序。
应用Ant实现项目的全流程自动化配置摘要当今信息时代,各行各业构建了各类的IT系统,用于管理各类信息。
而在研发这些IT系统过程中,如何进行软件工程的生命周期管理,如何高效、有序的、全自动化、智能化的进行软件的版本配置工作,则成为了一门亟待解决的问题。
关键词:软件配置ant 生命周期构建I / 12目录第一章背景 (3)1.1.现存问题 (3)1.2.主要内容 (4)第二章实现思路与环境搭建 (5)2.1.实现思路 (5)2.2.基本概念 (5)2.3.环境配置 (6)2.4.依赖包下载 (7)第三章自动化配置与部署的实现 (7)3.1.实现过程 (7)3.2.实现过程总结 (11)第四章总结与展望 (11)附录参考脚本 (12)2 / 12第一章背景1.1.现存问题软件的生命周期贯穿了从需求分析、设计、研发、配置、测试和发布。
这其中的每一个环节,需要投入一定的人力来确保软件产品的质量和提升工作小类。
大家在注重引入技术架构和新技术的时候,对于软件配置人员的工作相对而言较少关注。
而软件配置人员由于其工作的特性,决定了其技能和知识面的局限性。
因此,就大部分的软件配置而言,存在以下几点不足:机械化重复性劳动多。
配置人员大部分的时间都处在一种高机械化重复性的增量、编译、打包和发布的过程。
这个过程将大大降低人员的积极性和创新思路,影响配置人员的职业提升。
工作效率低。
大部分的过程需要使用不同的命令,应用不通的工具来完成响应的工作,如:代码的签出,需要使用svn,编译,需要使用命令行,上传需FTP客户端,重启weblogic需要使用ssh客户端,和IE浏览器完成整个过程。
自动化能力弱。
现有的过程,大部分的配置过程都需要人工介入,如:代码增量、冲突确认、SVN签出、代码打包、编译、发布,重启服务等工作需要占用配置人员绝大部分工作时间。
智能化水平低。
软件配置工作,对配置人员的细心程度要求较高,任何的一点错误都可能造成软件的配置失败。
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的各种任务和属性,也可以深入了解项目的构建流程和依赖关系,进一步提升项目的质量和可维护性。
目录1.1Java的构建工具Ant相关技术及应用 (2)1.1.1Ant相关技术概述 (2)1.1.2Ant的应用技术快速入门 (5)1.1.3build.xml文件中的常用的标签 (9)1.1.4体验将“属性”放到外部文件中的应用效果 (14)1.1Java的构建工具Ant相关技术及应用1.1.1Ant相关技术概述1、Ant概述(1)Ant是什么●它是一个自动化脚本引擎它是一种基于Java的Build工具而且是一个自动化脚本引擎,脚本格式为XML。
理论上来说,它有些类似于C中的make,但比make优越。
据最初的创始人James Duncan Davidson介绍,这个工具的名称是another neat tool(另一个整洁的工具)的首字母缩写。
●与其它平台下的make文件的不同点现在存在的大多数Build工具,如make、gnumake、nmake、jam等都存在这样或那样的不足,比如依赖于特定的平台、配置文件过于复杂或者对格式无法检查而容易出错等。
而不同的是Ant可以运行在多种操作平台上,满足开发者跨平台构建项目代码的需要●Ant与其它IDE的集成Ant是一个独立的开发工具,但也可以被其他开发工具集成,目前Ant已经被一些著名的可视化的开发工具所集成,如NetBeans和Eclipse等。
(2)特性与前面的这些工具相比较,Ant的两个特性决定了它是一款优秀的Build工具:●基于Java的实现。
具有良好的跨平台性,同时可以通过增加新的Java类来扩展Ant的功能,而无需去了解不同平台上不同的脚本语言。
●基于XML的配置文件。
Ant以XML树来描述Target/Task的关系,文件结构清晰、易读易写,并且利用XML对格式的控制来避免由于配置文件的错误造成的Build操作失败。
(3)为什么要提供Ant●生成工具在软件开发中用来将源代码和其他输入文件转换为可执行文件的形式(也有可能转换为可安装的产品映像形式)。
ant指令详解2篇ant指令详解第一篇Ant(Another Neat Tool)是一款基于Java的构建工具,广泛用于自动化构建和部署Java应用程序。
它的诞生源于Apache软件基金会,可以帮助开发人员轻松地编译、打包和部署项目。
本文将详细介绍Ant指令的使用和功能。
Ant指令是Ant构建脚本中的命令行指令,用于定义构建流程、编译代码、打包文件等操作。
Ant采用XML格式的构建文件,将一组Ant指令按照特定的顺序组织起来,通过执行构建文件,可以自动完成一系列构建任务。
首先,让我们来了解一些常用的Ant指令。
首先是javac指令,用于将Java源代码编译成Java字节码文件。
示例代码如下:```xml<javac srcdir="./src" destdir="./bin"includeantruntime="false" />```上述指令将src目录下的Java源代码编译成字节码文件,并将生成的字节码文件存放在bin目录下。
接下来是jar指令,用于创建Java程序的可执行JAR文件。
示例代码如下:```xml<jar destfile="./dist/myapp.jar"><fileset dir="./bin" includes="**/*.class" /><fileset dir="./lib" includes="**/*.jar" /></jar>```上述指令将bin目录下的所有类文件和lib目录下的所有JAR文件打包成一个名为myapp.jar的JAR文件,并将其存放在dist目录下。
除了编译和打包,Ant还提供了许多其他有用的指令。
例如,copy指令可以用来复制文件或目录:```xml<copy file="./src/test.txt" todir="./dist" />```上述指令将src目录下的test.txt文件复制到dist目录下。
Ant是一个Apache基金会下的跨平台的构件工具,它可以实现项目的自动构建和部署等功能。
在本文中,主要让读者熟悉怎样将Ant应用到Java项目中,让它简化构建和部署操作。
一.安装与配置下载地址:/,在本文中下载的是1.7.0版本。
解压到某个目录(例如E:\apache-ant-1.7.0),即可使用。
添加系统环境变量:ANT_HOME,该变量指向Ant解压后的根目录,在此为E:\apache-ant-1.7.0。
安装与配置完毕后,读者可以测试一下Ant是否可用,首先进入Ant的bin目录,运行命令ant –version,若安装和配置成功,则会显示Ant版本信息,如下图所示:由上可以看出,读者运行Ant的命令时,需要进入到Ant的bin目录,如何才能让系统自动找到Ant呢?这时需要读者在系统环境变量path中添加Ant的bin目录。
设置完成后,我们就可以在任何目录(例如C:\Documents and Settings\AmigoXie目录)输入Ant的命令,来获得命令的运行结果。
二.Ant的关键元素Ant的构件文件是基于XML编写的,默认名称为build.xml。
为了更清楚的了解Ant,在这里编写一个简单的Ant程序,用来展现Ant的功能,让读者对Ant有一个初步的了解。
首先在E 盘下建立一个build.xml文件,内容如下:读者可以进入E盘,然后运行ant sayHelloWorld,可以看到如下的运行结果:其中sayHelloWorld为需要执行的任务的名称。
如果文件名不为build.xml,而为hello.xml 时,读者运行同样的命令时,命令窗口会出现如下错误:Buildfile: build.xml does not exist!Build failed由上面的命令的错误提示可以看出,ant命令默认寻找build.xml文件。
若文件名为hello.xml时,读者还需要对命令做少许改变,改为:ant –f hello.xml sayHelloWorld、ant –buildfile hello.xml sayHelloWorld或ant –file hello.xml sayHelloWorld。
图解与代码Ant实现Java项目的自动构建和部署Ant(Another Neat Tool)是一种Java项目构建工具,它可以帮助开发人员自动化构建和部署Java项目。
Ant使用XML格式的构建文件来定义构建和部署任务,使得整个过程更加简单且可维护。
下面是Ant实现Java项目自动构建和部署的一般步骤:2. 创建构建文件:Ant使用XML格式的构建文件(通常命名为build.xml)来定义构建和部署任务。
构建文件包含了一系列的target,每个target定义了一个具体的构建或部署任务。
3.定义项目属性:在构建文件中,首先需要定义一些项目属性。
这些属性可以包括项目的名称、版本号、源文件目录、输出目录等。
定义属性可以方便后续的任务引用,提高代码的可维护性。
4. 定义依赖:如果项目依赖于其他库或模块,就需要在构建文件中定义这些依赖关系。
Ant提供了<classpath>和<dependency>这样的任务,可以用来引用外部依赖。
5. 定义构建和部署任务:在构建文件中,通过定义一个或多个target来描述构建和部署任务。
每个target可以包含多个task,每个task执行一个具体的构建或部署操作。
例如,可以使用<javac>任务编译Java源代码,使用<jar>任务打包成可执行的JAR文件,使用<war>任务将项目打包成WAR文件等。
6. 定义任务之间的依赖关系:有时候,一些任务的执行需要依赖于其他任务的结果。
在构建文件中可以使用<depends>属性来定义任务之间的依赖关系。
7. 运行Ant构建:通过命令行或集成开发环境(IDE)可以运行Ant构建。
在命令行中,只需要运行“ant”命令,并指定要执行的target。
Ant将按照构建文件中定义的顺序执行任务,并输出构建过程的详细信息。
8. 部署应用程序:在构建完成后,可以使用Ant来自动部署应用程序。
【内容导航】∙第1页:安装与配置∙第2页:Ant的关键元素∙第3页:Ant的常用任务∙第4页:利用Ant构建和部署Java工程Ant是一个Apache基金会下的跨平台的构件工具,它可以实现项目的自动构建和部署等功能。
在本文中,主要让读者熟悉怎样将Ant应用到Java项目中,让它简化构建和部署操作。
一.安装与配置:下载地址:/,在本文中下载的是1.7.0版本。
解压到某个目录(例如E:\apache-ant-1.7.0),即可使用。
添加系统环境变量:ANT_HOME,该变量指向Ant解压后的根目录,在此为E:\apache-ant-1.7.0。
安装与配置完毕后,读者可以测试一下Ant 是否可用,首先进入Ant的bin目录,运行命令ant –version,若安装和配置成功,则会显示Ant版本信息,如下图所示:由上可以看出,读者运行Ant的命令时,需要进入到Ant的bin目录,如何才能让系统自动找到Ant呢?这时需要读者在系统环境变量path中添加Ant的bin目录。
设置完成后,我们就可以在任何目录(例如C:\Docum ents and Settings\AmigoXie目录)输入Ant的命令,来获得命令的运行结果。
二.Ant的关键元素:Ant的构件文件是基于XML编写的,默认名称为build.xml。
为了更清楚的了解Ant,在这里编写一个简单的Ant程序,用来展现Ant的功能,让读者对Ant有一个初步的了解。
首先在E盘下建立一个build.xml文件,内容如下:读者可以进入E盘,然后运行ant sayHelloWorld,可以看到如下的运行结果:其中sayHelloWorld为需要执行的任务的名称。
如果文件名不为build.xml,而为hello.x ml时,读者运行同样的命令时,命令窗口会出现如下错误:Buildfile: build.xml does n ot exist!Build failed由上面的命令的错误提示可以看出,ant命令默认寻找build.xml文件。
若文件名为hello.xml时,读者还需要对命令做少许改变,改为:ant –f hello.xml sayHelloWorld、ant –buildfile hello.xml sayHelloWorld或ant –file hello.xml sayHe lloWorld。
接下来开始向读者讲解本节的重点:Ant的关键元素project、target、proper ty和task。
1.project元素project元素是Ant构件文件的根元素,Ant构件文件至少应该包含一个project元素,否则会发生错误。
在每个project元素下,可包含多个targe t元素。
接下来向读者展示一下project元素的各属性。
1)name属性用于指定project 元素的名称。
2)default属性用于指定project默认执行时所执行的target的名称。
3)basedir属性用于指定基路径的位置。
该属性没有指定时,使用Ant的构件文件(Buil d.xml的路径)的附目录作为基准目录。
下面给读者一个简单的例子来展示project的各元素的使用。
修改E:\build.xml文件,修改后的内容如下:从上面的内容我们可以看出,在这里定义了default属性的值为sayBaseDir,即当运行ant 命令时,若未指明执行的target时,默认执行的target的sayBaseDir,同时还定义了bas edir属性的值为E:\apache-ant-1.7.0,进入E盘后运行ant命令,可看到运行的结果,如下图所示:因为设定了basedir的值,所以basedir属性的值变成了读者设置的值。
读者可以自行将pr oject元素的basedir属性去掉后运行ant看看运行结果,此时basedir的值变成了E:\,即为Ant构件文件的父目录(为build.xml文件所在的目录)。
有的时候,读者可能有这种需求,即想得到某个project下所有的target的名称,读者可以通过在ant命令里加上-proecthel p来达到该目的。
例如针对上述的例子我们运行ant –projecthelp,输出结果如下:Buildf ile: build.xml Main targets:Other targets: sayBaseDir Default target: s ayBaseDir2.target元素它为Ant的基本执行单元,它可以包含一个或多个具体的任务。
多个tar get可以存在相互依赖关系。
它有如下属性:1)name属性指定target元素的名称,这个属性在一个project元素中是唯一的。
我们可以通过指定target元素的名称来指定某个ta rget。
2)depends属性用于描述target之间的依赖关系,若与多个target存在依赖关系时,需要以“,”间隔。
Ant会依照depends属性中target出现的顺序依次执行每个target。
被依赖的target会先执行。
3)if属性用于验证指定的属性是否存在,若不存在,所在tar get将不会被执行。
4)unless属性该属性的功能与if属性的功能正好相反,它也用于验证指定的属性是否存在,若不存在,所在target将会被执行。
5)description属性该属性是关于target功能的简短描述和说明。
下面带领读者来看一个各属性综合使用的例子。
修改E:\build.xml文件,修改后的内容如下:进入E盘后运行ant targetB,可看到如下图所示的运行结果:读者分析结果后可以看到,我们运行的是名为target B的target,因该target依赖于targe tA,所以targetA将首先被执行,同时因为系统安装了java环境,所以ant.java.version 属性存在,执行了targetA这个target,输出信息:[echo] Java Version: 1.5,target A执行完毕后,接着执行targetB,因为amigo不存在,而unless属性是在不存在时进入所在的target的,由此可知target B得以执行,输出信息:The base dir is: E:\。
3.p roperty元素该元素可看作参量或者参数的定义,project的属性可以通过property元素来设定,也可在Ant之外设定。
若要在外部引入某文件,例如build.properties文件,可以通过如下内容将其引入:<property file=” build.properties”/>property元素可用作ta sk的属性值。
在task中是通过将属性名放在“${”和“}”之间,并放在task属性值的位置来实现的。
Ant提供了一些内置的属性,它能得到的系统属性的列表与Java文档中System. getPropertis()方法得到的属性一致,这些系统属性可参考sun网站的说明。
同时,Ant还提供了一些它自己的内置属性,如下:basedir:project基目录的绝对路径,该属性在讲解project元素时有详细说明,不再赘述;ant.file:buildfile的绝对路径,如上面的各例子中,ant.file的值为E:\build.xml;ant.version:Ant的版本,在本文中,值为1.7.0;ant. project.nam e:当前指定的project的名字,即前文说到的project的name属性的值;ant.java.version:Ant检测到的JDK的版本,在上例运行结果中可看到为1.5。
下面让读者来看一个property元素使用的简单例子。
修改E:\build.xml文件,内容如下:该例的运行结果如下图所示:由此读者可以看出,通过如下两个语句:<property name="name" value="amigo"/> <property nam e="age" value="25"/>我们设置了名为name和age的两个属性,这两个属性设置后,读者在下文中可以通过${name}和${age}分别取得这两个属性的值。
三.Ant的常用任务:在Ant工具中每一个任务封装了具体要执行的功能,是Ant工具的基本执行单位。
在本小节中,主要引导读者来看下Ant的常用任务及其使用举例。
1.copy任务该任务主要用来对文件和目录的复制功能。
举例如下:Eg1.复制单个文件:<copy file="file.txt" tofile="copy.txt"/>Eg2.对文件目录进行复制:<copy todir="../newdir/dest_dir"><fileset dir="src_dir"/></copy>Eg3. 将文件复制到另外的目录:<copy file="file.txt" todir="../other/dir"/>2.delete任务对文件或目录进行删除,举例如下:Eg1. 删除某个文件:<delete file="photo/amigo.jpg"/>Eg2. 删除某个目录:<delete dir="photo"/>Eg3. 删除所有的备份目录或空目录:<delete includeEmptyDirs="true"><fileset dir="." includes="**/*.bak"/></delete>3.mkdir任务创建目录。
eg:<mkdir dir="build"/>4.move任务移动文件或目录,举例如下:Eg1. 移动单个文件:<move file="fromfile" tofile=”tofile”/>Eg2. 移动单个文件到另一个目录:<move file="fromfile" todir=”movedir”/>Eg3. 移动某个目录到另一个目录:<move todir="newdir"><fileset dir="olddir"/></move>5.echo任务该任务的作用是根据日志或监控器的级别输出信息。