java

位置:IT落伍者 >> java >> 浏览文章

使用Ant编译Java工程[3]


发布日期:2024年06月01日
 
使用Ant编译Java工程[3]

如果(或如果不)某些属性被设定才执行某个target这样允许根据系统的状态(java version OS 命令行属性定义等等)来更好地控制build的过程要想让一个target这样做你就应该在target元素中加入if(或unless)属性带上target因该有所判断的属性例如

<target name=buildmoduleA if=moduleApresent/>

<target name=buildownfakemoduleA unless=moduleApresent/>

如果没有if或unless属性target总会被执行

可选的description属性可用来提供关于target的一行描述这些描述可由projecthelp命令行选项输出

将你的tstamp task在一个所谓的初始化target是很好的做法其他的target依赖这个初始化target要确保初始化target是出现在其他target依赖表中的第一个target在本手册中大多数的初始化target的名字是init

target有下面的属性

Attribute Description Required

name target的名字 Yes

depends 用逗号分隔的target的名字列表也就是依赖表 No

if 执行target所需要设定的属性名 No

unless 执行target需要清除设定的属性名 No

description 关于target功能的简短描述 No

Tasks

一个task是一段可执行的代码

一个task可以有多个属性(如果你愿意的话可以将其称之为变量)属性只可能包含对property的引用这些引用会在task执行前被解析

下面是Task的一般构造形式

<name attribute=value attribute=value />

这里name是task的名字attributeN是属性名valueN是属性值

有一套内置的(builtin)task以及一些可选task但你也可以编写自己的task

所有的task都有一个task名字属性Ant用属性值来产生日志信息

可以给task赋一个id属性

<taskname id=taskID />

这里taskname是task的名字而taskID是这个task的唯一标识符通过这个标识符你可以在脚本中引用相应的task例如在脚本中你可以这样

<script >

tasksetFoo(bar);

</script>

设定某个task实例的foo属性在另一个task中(用java编写)你可以利用下面的语句存取相应的实例

[] [] [] [] [] []

               

上一篇:使用Ant编译Java工程[4]

下一篇:使用Ant编译Java工程[2]