2.Ant的任务:----------------------------------------------------------------
ant 在另一个build file上调用ant
antcall 调用一个当前build file上的target
antstructure 创建一个ant build filde 的DTD文档
apply 执行系统命令,并应用文件
available 设置资源属性
chmod 设定变更文件和文件夹的变更权限(UNIX)
condition 条件为真时设置属性
copy 拷贝文件和目录
copydir instead by copy
copyfile instead by copy
cvs 执行cvs命令
cvspass 添加password到.cvspass文件中
delete 删除文件和文件夹
deltree use the delete task instead.
dependset 管理文件依赖关系
ear 创建EAR文件
echo 写出log到文件或控制台
exec 执行一个本地命令
execon use the apply task instead.
fail 抛出BuildException,停止build命令
filter 设置令牌过滤
fixcrlf 清除源文件中指定的特殊字符
genkey 产生一个key
get 从一个url上取得文件(****,可以用来分发jar包)
gunzip 解压缩一个GZip文件
gzip 创建一个GZip文件
jar 创建一个JAR文件
java
javac 编译java项目,并不等用于JDK中的javac命令
javadoc
mail 发送邮件(****)
mkdir
move
parallel 在并发线程上执行多任务?
patch 应用一个不同的文件到原始文件上
pathconvert 转换ant路径到指定的平台路径
property
record Logs output from the current build process.
rename use the move task instead.
replace 在文件中替换字符串
rmic Runs the rmic compiler.
sequential 顺序执行多任务,用于并行任务
signjar Executes the javasign command-line tool.
sleep 暂停编译一段时间
sql 使用JDBC指定SQL命令(****,执行数据库初始化)
style 执行XSLT转换
tar 创建一个TAR文件
taskdef 添加定义的任务到当前项目中
touch 更新文件的时间戳(****,应用于文件版本)
tstamp Sets the DSTAMP, TSTAMP, and TODAY properties.
typedef Adds a DataType to the current project.
unjar Expands a ZIP file, WAR file, or JAR file.
untar
unwar
unzip
uptodate Sets a property if one or more target files are up-to-date with respect to corresponding source files.
war
zip
Ant Optional Task:----------------------------------------------------------------
antlr 运行ANTLR分析器,Runs the ANTLR parser and translator generator tool.
blgenclient 从一个已知的ejb-jar文件中创建一个JAR文件
cab 创建微软 .cab文件
cccheckin 执行ClearCase checkin 命令
cccheckout 执行ClearCase checkout 命令
ccuncheckout 执行ClearCase undocheckout 命令
ccupdate 执行ClearCase update 命令
ccmcheckin 执行一个Continuus1 ci 命令
ccmcheckintask 执行一个Continuus1 ci 缺省命令
ccmcheckout 执行一个Continuus1 co 命令
ccmcreatetask 执行一个Continuus1 create_task 命令
ccmreconfigure 执行一个Continuus1 reconfigure 命令
csc 编译C#源文件
ddcreator 创建一个EJB部署描述符
depend 根据时间戳判断文件是否过期
ejbc 执行BEA WebLogic Server's ejbc tool, 产生部署EJB组件必要的代码
ejbjar 创建ejb-jar文件,符合EJB1.1标准
ftp 实现一个基本的ftp客户端(****)
icontract Executes the iContract Design By Contract preprocessor.
ilasm Assembles .NET Intermediate Language files.
iplanet-ejbc Compiles EJB stubs and skeletons for iPlanet Application Server Version 6.0.
javacc Executes the JavaCC compiler compiler on a grammar file.
javah Executes the javah tool, generating Java Native Interface (JNI) headers from one or more Java classes.
jdepend Executes the JDepend tool.
jjtree Executes the JJTree preprocessor for JavaCC.
jlink Builds a JAR or ZIP file, optionally merging contents of existing JAR and ZIP archives.
jpcoverage Executes the JProbe Coverage tool.
jpcovmerge Merges several JProbe Coverage snapshots into one.
jpcovreport Creates a report from a JProbe Coverage snapshot.
junit 执行单元测试
junitreport 创建一个单元测试报告
maudit 执行WebGain 质量分析,分析java代码错误
mmetrics 执行WebGain 质量分析
mimemail 发送SMTP邮件,并可发送附件
mparse all Executes the now obsolete Metamata MParse compiler compiler on a grammar file.
native2ascii 转换本地代码到ASCII代码
netrexxc Compiles a set of NetRexx files.
p4change Requests a new changelist from a Perforce server.
p4counter Gets and sets a Perforce counter value.
p4edit Opens files from Perforce for editing.
p4have Lists Perforce files in the current client view.
p4label Creates a label for files in the current Perforce workspace.
p4reopen Moves files between Perforce changelists.
p4revert Reverts opened Perforce files.
p4submit Checks files in to a Perforce depot.
p4sync Synchronizes a workspace with the Perforce depot.
propertyfile 创建或变一个java属性文件
pvcs Extracts files from a PVCS repository.
renameext 重命名文件扩展名
rpm Builds a Linux RPM file.
script 执行一个 BSF 脚本.
sound build结束后播放一个声音文件
starteam 从StarTeam check Out file.
stylebook Executes the Apache Stylebook documentation generator.
telnet 执行telnet会话
test 执行单元测试,基于org.apache.testlet 框架
vsscheckin Checkin文件到VSS上(****)
vsscheckout checkout文件从vss上
vssget 从vss上获取最新的文件
vsshistory 显示vss上文件或项目历史信息
vsslabel 标记 Assigns a label to files and projects in Visual SourceSafe.
wljspc Precompiles JSP files using BEA WebLogic Server's JSP compiler.
wlrun Starts an instance of the BEA WebLogic Server.
wlstop Stops an instance of the BEA WebLogic Server.
xmlvalidate 验证xml文档格式,使用任何SAX分析器(**** ,验证配置文件)
Ant和XDoclet的整合:----------------------------------------------------------------
仅仅需要拷贝Xdolcet.jar到ANT_HOME/lib目录中即可
这样就可以集成XDoclet了
3.1 Projects
project有下面的属性:
Attribute Description Required
name 项目名称. No
default 当没有指定target时使用的缺省target Yes
basedir 用于计算所有其他路径的基路径。该属性可以被basedir property覆盖。当覆盖时,该属性被忽略。如果属性和basedir property都没有设定,就使用buildfile文件的父目录。 No
项目的描述以一个顶级的〈description〉元素的形式出现(参看description小节)。
一个项目可以定义一个或多个target。一个target是一系列你想要执行的。执行Ant时,你可以选择执行那个target。当没有给定target时,使用project的default属性所确定的target。
3.2 Targets
一个target可以依赖于其他的target。例如,你可能会有一个target用于编译程序,一个target用于生成可执行文件。你在生成可执行文件之前必须先编译通过,所以生成可执行文件的target依赖于编译target。Ant会处理这种依赖关系。
然而,应当注意到,Ant的depends属性只指定了target应该被执行的顺序-如果被依赖的target无法运行,这种depends对于指定了依赖关系的target就没有影响。
Ant会依照depends属性中target出现的顺序(从左到右)依次执行每个target。然而,要记住的是只要某个target依赖于一个target,后者就会被先执行。
〈target name="A"/〉
〈target name="B" depends="A"/〉
〈target name="C" depends="B"/〉
〈target name="D" depends="C,B,A"/〉
假定我们要执行target D。从它的依赖属性来看,你可能认为先执行C,然后B,最后A被执行。错了,C依赖于B,B依赖于A,所以先执行A,然后B,然后C,最后D被执行。
一个target只能被执行一次,即时有多个target依赖于它(看上面的例子)。
如果(或如果不)某些属性被设定,才执行某个target。这样,允许根据系统的状态(java version, OS, 命令行属性定义等等)来更好地控制build的过程。要想让一个target这样做,你就应该在target元素中,加入if(或unless)属性,带上target因该有所判断的属性。例如:
〈target name="build-module-A" if="module-A-present"/〉
〈target name="build-own-fake-module-A" unless="module-A-present"/〉
如果没有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
3.3 Tasks
ANT 标签
最新推荐文章于 2021-02-13 08:13:12 发布