•  Ant build.xml 结构

v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}

kk
kk
2
400
2016-04-18T09:13:00Z
2016-04-18T09:13:00Z
2
448
2557
21
5
3000
12.00

false

7.8 磅
0
2

false
false
false

EN-US
ZH-CN
X-NONE


/* Style Definitions */
table.MsoNormalTable
{mso-style-name:普通表格;
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-priority:99;
mso-style-qformat:yes;
mso-style-parent:"";
mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
mso-para-margin:0cm;
mso-para-margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:10.5pt;
mso-bidi-font-size:11.0pt;
font-family:"Calibri","sans-serif";
mso-ascii-font-family:Calibri;
mso-ascii-theme-font:minor-latin;
mso-hansi-font-family:Calibri;
mso-hansi-theme-font:minor-latin;
mso-font-kerning:1.0pt;}
table.MsoTableGrid
{mso-style-name:网格型;
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-priority:59;
mso-style-unhide:no;
border:solid black 1.0pt;
mso-border-themecolor:text1;
mso-border-alt:solid black .5pt;
mso-border-themecolor:text1;
mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
mso-border-insideh:.5pt solid black;
mso-border-insideh-themecolor:text1;
mso-border-insidev:.5pt solid black;
mso-border-insidev-themecolor:text1;
mso-para-margin:0cm;
mso-para-margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:10.5pt;
mso-bidi-font-size:11.0pt;
font-family:"Calibri","sans-serif";
mso-ascii-font-family:Calibri;
mso-ascii-theme-font:minor-latin;
mso-hansi-font-family:Calibri;
mso-hansi-theme-font:minor-latin;
mso-font-kerning:1.0pt;}

Ant build.xml 结构

最基本的build.xml结构:

<?xml version="1.0" encoding="UTF-8" ?>

<project name="test" default="main">

<property name="test.prop1" value="hello, java"/>

<target name="main">

<echo>${test.prop1}</echo>

</target>

</project>

根元素是project,project下可以包括多个target,每个target下可以有多个task。

另外还可以指定task在执行过程中使用的数据,例如property。

build.xml的基本结构就是:project、target、task、datadef。

下面就针对这些元素分别说明:

project

每个ant的构建文件(build.xml)都必须以project元素做为根元素,

属性

描述

必要

name

名称

default

指定默认的target

basedir

计算build.xml中路径的基路径。默认值是build.xml文件所在的目录。

target

一个target包括多个task,通过多个task来达成想要的目标。一个target可以依赖于其它的targets。

<target name="A"/>

<target name="B" depends="A"/>

<target name="C" depends="B"/>

<target name="D" depends="C,B,A"/>

假如要执行D目标,实际上的执行过程是这样的:

Call-Graph:  A --> B --> C --> D

Target的属性说明:

Attribute

Description

Required

name

名称

Yes

depends

指定依赖,用逗号分隔

No

if

如果一个property name,那么这个property的值必须被设置。

如果不是属性名,应该是一个可以被计算为true的表达式。

No

unless

如果一个property name,那么这个property的值必须没有被设置。如果不是属性名,应该是一个可以被计算为false的表达式。

No

description

描述

No

extensionOf

Adds the current target to the depends list of the namedextension-pointsince Ant 1.8.0.

No

onMissingExtensionPoint

What to do if this target tries to extend a missing extension-point. ("fail", "warn", "ignore"). since Ant 1.8.2.

No. Not allowed unless extensionOf is present. Defaults to fail.

示例:

<?xml version="1.0" encoding="UTF-8" ?>

<project name="test" default="main">

<property name="test.prop1" value="hello, ant"/>

<target name="main" depends="IF_SET,IF_UNSET,UNLESS_SET,UNLESS_UNSET">

<echo>${test.prop1}</echo>

</target>

<property name="test.a" value="hello, ant"/>

<target name="IF_SET" if="test.a">

<echo>IF_SET</echo>

</target>

<target name="IF_UNSET" if="test.b">

<echo>IF_UNSET</echo>

</target>

<target name="UNLESS_SET" unless="test.a">

<echo>UNLESS_SET</echo>

</target>

<target name="UNLESS_UNSET" unless="test.b">

<echo>UNLESS_UNSET</echo>

</target>

</project>

执行结果:

IF_SET:

[echo] IF_SET

IF_UNSET:

UNLESS_SET:

UNLESS_UNSET:

[echo] UNLESS_UNSET

main:

[echo] hello, ant

BUILD SUCCESSFUL

Total time: 0 seconds

task

task代表一个任务,target由一系统的task组成。

每个task都有3个属性:

Attribute

Description

Required

id

task实例的id,用于在其它地方引用这个任务时使用

No

taskname

task实例的别名,在执行task时,如果指定了,日志中可以看到别名

No

description

任务说明

No

示例:

<?xml version="1.0" encoding="UTF-8" ?>

<project default="hello">

<target name="hello">

<echo taskname="echoMessage" id="echo_01">Hello, execute Ant task : [echo]</echo>

</target>

</project>

结果:

hello:

[echoMessage] Hello, execute Ant task : [echo]

BUILD SUCCESSFUL

Total time: 0 seconds

Ant内置了很多的task,可以在官方手册里找到:

http://ant.apache.org/manual/,另外官方手册中,也对这些Ant任务进行了归类:

data

Ant的task要执行,必不可少的是要使用数据。我将数据类型大致的分为几类:properties、path、fileset、selector、其他类型。

这些数据内容,将在下一次说明。

  ·Property

  ·datatype

Ant:build.xml 结构的更多相关文章

  1. Ant build.xml相关属性详解

    关键字: ant build.xml Ant的概念 可能有些读者并不连接什么是Ant以及入可使用它,但只要使用通过Linux系统得读者,应该知道make这个命令.当编译Linux内核及一些软件的源程序 ...

  2. 一个完整的JENKINS下的ANT BUILD.XML文件(Jenkins可以参考)

    一个完整的JENKINS下的ANT BUILD.XML文件 <?xml version="1.0" encoding="UTF-8"?> <p ...

  3. Eclipse 运行ant build.xml

    在命令行cmd运行mvn clean install,ant compiler,提示上述信息,是因为 maven的这个插件要求jdk1.6,但是本地电脑环境变量jdk版本为1.7.将JAVA_HOME ...

  4. Ant build xml中的各种变量解释

    Ant build.xml中的各种变量 Ant环境变量分为四种: 1.      build.properties文件中定义的变量 2.      build.xml文件中定义的变量, 3.      ...

  5. ANT build.xml文件详解

    Ant的优点 跨平台性.Ant是用Java语言编写的,所示具有很好的跨平台性. 操作简单.Ant是由一个内置任务和可选任务组成的. Ant运行时需要一个XML文件(构建文件). Ant通过调用targ ...

  6. [置顶] ANT build.xml文件详解

    Ant的优点 跨平台性.Ant是用Java语言编写的,所示具有很好的跨平台性. 操作简单.Ant是由一个内置任务和可选任务组成的. Ant运行时需要一个XML文件(构建文件). Ant通过调用targ ...

  7. Ant build.xml详解

    Ant的概念 可能有些读者并不连接什么是Ant以及入可使用它,但只要使用通过Linux系统得读者,应该知道make这个命令.当编译Linux内核及一些软件的源程序时,经常要用这个命令.Make命令其实 ...

  8. Ant build.xml

    Ant的概念可能有些读者并不连接什么是Ant以及入可使用它,但只要使用通过Linux系统得读者,应该知道make这个命令.当编译Linux内核及一些软件的源程序时,经常要用这个命令.Make命令其实就 ...

  9. ant build.xml 解释!

    Ant的概念  Make命令是一个项目管理工具,而Ant所实现功能与此类似.像make,gnumake和nmake这些编译工具都有一定的缺陷,但是Ant却克服了这些工具的缺陷.最初Ant开发者在开发跨 ...

随机推荐

  1. TCP ,UDP概念和TCP三次握手连接 的知识点总结

    OSI 计算机网络7层模型 TCP/IP四层网络模型 传输层提供应用间的逻辑通信(端到端),网络层提供的是主机到主机的通信,传输层提供的是可靠服务. TCP 中常说的握手指的是:连接的定义和连接的建立 ...

  2. Oracle软件安装目录满的清理方法

    这是Oracle数据库日常运维中很常见的一个场景,安装目录满有时不光会导致无法记录最新数据库的日志信息,导致遇到问题无法查到最新的日志信息,还会引发一些奇怪的问题. 所以日常巡检要保证Oracle的安 ...

  3. 表空间基于时间点的恢复(TSPITR)

    环境:RHEL 6.4 + Oracle 11.2.0.4 准备模拟环境 1. 验证表空间的依赖性 2. 确定执行TSPITR后会丢失的对象 3. 自动执行TSPITR Reference 准备模拟环 ...

  4. CSS实现单行与多行文字省略(truncation)

    在上一篇文章小div布局之卡片堆叠(card-stacking)中有多行文字溢出省略的效果,这篇文章就对这种效果(包括单行文字溢出省略)的实现做个简单的记录,以防自己忘记.具体来说,就是要实现这种文字 ...

  5. 【JVM】JVM系列之执行引擎(五)

    一.前言 在了解了类加载的相关信息后,有必要进行更深入的学习,了解执行引擎的细节,如字节码是如何被虚拟机执行从而完成指定功能的呢.下面,我们将进行深入的分析. 二.栈帧 我们知道,在虚拟机中与执行方法 ...

  6. ThinkPHP学习(二)

    开发规范 1.命名规范 使用ThinkPHP开发的过程中应该尽量遵循下列命名规范: 特例:在ThinkPHP里面,有一个函数命名的特例,就是单字母大写函数,这类函数通常是某些操作的快 捷定义,或者有特 ...

  7. ASP.NET Core中的ActionFilter与DI

    一.简介 前几篇文章都是讲ASP.NET Core MVC中的依赖注入(DI)与扩展点的,也许大家都发现在ASP.NET CORE中所有的组件都是通过依赖注入来扩展的,而且面向一组功能就会有一组接口或 ...

  8. LINQ to SQL语句(15)之String

    LINQ to SQL支持以下String方法.但是不同的是默认情况下System.String方法区分大小写.而SQL则不区分大小写. 1.字符串串联(String Concatenation) v ...

  9. C#根据句柄改变窗体控件值

    需求是这样,有个程序界面我们需要通过自己的程序持续输入数据,界面如图. 可以获得控件的句柄而用钩子写入值.这里需要用到spy++工具.在VS的工具下有个spy++工具,打开如下图 通过这个工具可以获得 ...

  10. CSS3点赞动画特效源码下载

    体验效果:http://hovertree.com/texiao/jquery/62/ 效果图: 下载:http://hovertree.com/h/bjaf/1dvh9ym6.htm 特效库:htt ...