ANT 标签

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

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值