ant学习笔记

          一.Ant是一个构建工具,它可以帮助我们将项目开发过程中需要完成的各种步骤组织起来,通过一个简易的方式来构建整个项目。Ant究竟能做什么呢?这取决于Ant的任务(Task),Ant有哪些任务,就能完成哪些工作!一些典型的任务是:编译java源代码、运行java程序、拷贝文件或目录、将编译完成的类打包等等。
       当然,Ant是一个开放的架构,任何人,都可以按照自己的方式,添加自己的任务(Task),这需要
遵守Ant的一些规范。

二.
1、  确保你的机器已经安装了JDK,确保你的path环境变量中包含有java虚拟机的运行程序,确保你的环境变量中有JAVA_HOME变量
2、  下载ant并解压
3、  设置ANT_HOME环境变量,指向ant解压根目录
4、  在path环境变量中,添加ANT_HOME\bin目录
5、  打开控制台,运行:ant
6、  如果能够运行ant(忽略这些异常:Buildfile: build.xml does not exist!),而不是出现诸如命令无法解释的错误,那么你的ant就安装成功了


三.Ant的运行靠的就是一个构建脚本,默认名称为build.xml,只要你构建一个这样的文件,按照规定把需要完成的工作任务写在这个配置文件中,然后在dos下运行ant就会执行这个文件,如果文件名不是默认的(mybuild.xml),则这样运行:ant -f mybuild.xml  ,如果该配置文件不存在将会报错:Buildfile: build.xml does not exist!


四.构建脚本:
<?xml version="1.0" encoding="GBK"?>
<project name="测试脚本" default="copyfile" basedir=".">
    <target name="copyfile">
       <copy file="d:/aa.txt" todir="e:" overwrite="true"/>
    </target>
</project>

这样我们在dos当前目录下输入这样ant命令就完成了拷贝文件的工作


五.如何编写buildfile

1.project.每个buildfile含有一个project
2.project有下面的属性:
name 项目名称.
default 当没有指定target时使用的缺省target Yes
basedir 用于计算所有其他路径的基路径。该属性可以被basedir property覆盖。当覆盖时,该属性被忽略。如果属性和basedir property都没有设定,就使用buildfile文件的父目录。
3.target.一个项目可以定义一个或多个target。一个target是一系列你想要执行的。执行Ant时,你可以选择执行那个target。当没有给定target时,使用project的default属性所确定的target。一个target可以依赖于其他的target。例如,你可能会有一个target用于编译程序,一个target用于生成可执行文件。你在生成可执行文件之前必须先编译通过,所以生成可执行文件的target依赖于编译target。Ant会处理这种依赖关系。然而,应当注意到,Ant的depends属性只指定了target应该被执行的顺序-如果被依赖的target无法运行,这种depends对于指定了依赖关系的target就没有影响。一个target只能被执行一次
4.target有下面的属性:
name target的名字 Yes
depends 用逗号分隔的target的名字列表,也就是依赖表。
if 执行target所需要设定的属性名。
unless 执行target需要清除设定的属性名。
description 关于target功能的简短描述。

5.Tasks.一个task是一段可执行的代码。一个task可以有多个属性(如果你愿意的话,可以将其称之为变量)。属性只可能包含对property的引用。这些引用会在task执行前被解析
下面是Task的一般构造形式:
<name attribute1="value1" attribute2="value2" ... />
这里name是task的名字,attributeN是属性名,valueN是属性值。


6.Properties.一个project可以有很多的properties。可以在buildfile中用property task来设定,或在Ant之外设定。一个property有一个名字和一个值。property可用于task的属性值。这是通过将属性名放在"${"和"}"之间并放在属性值的位置来实现的。例如如果有一个property builddir的值是"build",这个property就可用于属性值:${builddir}/classes。这个值就可被解析为build/classes。[/size][/size][/size][/size]

 

 

个人博客正式上线,欢迎访问

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值