----------------------------
用于自动化调用程序完成项目的编译,打包,测试,脚本的格式是基于XML的
流程:init--build--compile--jar--all
优点:
1,跨平台性。Ant是纯Java语言编写的,所示具有很好的跨平台性。
2,操作简单。Ant是由一个内置任务和可选任务组成的。Ant运行时需要一个XML文件(构建文件)。
3,Ant通过调用target树,就可以执行各种task。每个task实现了特定接口对象。由于Ant构建文件时XML格式的文件,所以和容易维护和书写而且结构很清晰。
4,Ant可以集成到开发环境中。由于Ant的跨平台性和操作简单的特点,它很容易集成到一些开发环境中去。
-----------------------------
ant安装:
1,window中设置ant环境变量:
ANT_HOME C:\apache-ant-1.8.1
path C:\apache-ant-1.8.1\bin
classpath C:\apache-ant-1.8.1\lib
2,测试:ant 和 ant -version
如果出现如下内容,说明安装成功:
Buildfile: build.xml does not exist!
Build failed
3,使用:在根目录下建立build.xml
<?xml version="1.0" encoding="GBK"?>
<project name="测试脚本" default="copyfile" basedir="." >
<target name="copyfile">
<copy file="d:/a.txt" todir="e:/Temp" overwrite="true" />
</target>
</project>
==============================属性讲解============================================
1.project 根结点
基本属性:name、default、basedir。
name: 项目名称(可选)
default: 默认开始执行的target。(必需)
basedir: 用于计算所有其他路径的基路径。可以被basedir property覆盖。当覆盖时,该属性被忽略。如果属性和basedir property都没有设定,就使用build.xml的父目录。一般basedir=".",设置为build.xml所在的目录。(可选)
2.target
Attribute属性 Description属性值内容 Required
name target的名字 Y
depends 需要依赖的其他target N
description 关于target功能的简短描述 N
if 为了执行本target而被设置的属性的名字 N
unless 为了执行本target而不被设置的属性的名字 N
2.1 依赖关系depands
<target name="A"/>
<target name="B" depends="A"/>
<target name="C" depends="B"/>
<target name="D" depends="C,B,A"/>
当执行target D,则先执行A,再B,然后C,最后D。
一个target只能被执行一次,即使有多个target依赖于它。
2.2 if,unless