Apache Ant任务-task标签

任务是一段可以执行的代码。 任务可以具有多个属性,每个任务都具有共同的结构。 常见结构由任务名称,属性等组成。请参阅下面的示例。

1. 任务结构

任务配置结构可包括:

<task-name attribute1 = "value1" attribute2 = "value2" ... >  
    ...  
</task-name>

Apache Ant任务分为两类:

  • 内置任务

  • 用户定义的任务

2. Apache Ant预定义(内置)任务

Apache Ant本身在其库中提供的任务称为内置任务。 Apache ant提供了大量内置任务,可用于执行区分任务。 如下列表所示:

  • 存档任务

  • 审计任务

  • 编译任务

  • 执行任务

  • 文件任务

  • 记录任务

  • 邮件任务

……

2.1. 存档任务

用于压缩和解压缩数据的任务称为归档任务。下面列出了一些常见的内置存档任务。

任务名称描述
EarJar任务的扩展,对文件进行特殊处理
Jar一组文件
Tar创建tar存档
Unjar解压缩jar文件
Untar解压tarfile
Unwar解压缩warfile
Unzip解压缩zip文件
WarJar任务的扩展

2.2. 审计任务

任务名称描述
JDepend它用于调用JDepend解析器

2.3. 编译任务

用于编译源文件的任务称为编译任务,下面列出了一些常见的内置编译任务。

任务名称描述
Depend确定哪些类文件的资源已过期
Javac编译源文件
JspC运行JSP编译器
NetRexxC编译NetRexx源文件
Rmic运行rmic编译器

2.4. 执行任务

用于执行运行应用程序的任务称为执行任务。下面列出了一些常见的内置执行任务。

任务名称描述
Ant在指定的构建文件上运行Ant
AntCall在同一个构建文件中运行另一个目标
Apply执行系统命令
Java执行Java类
Parallel可包含其他ant任务的容器任务
Sleep按指定的时间暂停执行

2.5. 文件任务

与句柄文件操作相关的任务称为文件任务。下面列出了一些常见的内置文件任务。

任务名称描述
Chmod更改文件的权限
Chown更改文件的所有权
Concat连接多个文件
Copy将文件复制到新目的地
Delete删除文件
Mkdir创建一个目录

3.Apache Ant内置任务连接示例

连接单个文件,如果目标文件存在则附加。如下示例:

<concat destfile="NOTES" append="true">  
  <filelist dir="notes" files="note.txt"/>  
</concat>

3.1. 如何使用Apache Ant任务?

要使用任务,首先需要使用<project>标签创建项目。 之后,创建一个目标,使用<target>标记对任务进行分组。 然后可以通过将任务放在目标标记内来执行任务。看一个例子,这里使用<java>标签创建Java任务。

<project name="java-ant project" default="run">  
    <target name="run" depends="compile">  
        <java classname = "com.zyiz.Hello">  
            <classpath path="test"></classpath>  
        </java>  
    </target>  
</project>

4. Apache Ant用户定义任务

Apache Ant允许用户编写自己的任务。编写自己的任务非常容易。 下面给出了一些必要的步骤。请参考以下几个步骤。

  • 首先创建一个Java类并扩展org.apache.tools.ant.Task类。

  • 为每个属性创建settergetter方法。

  • 如果task包含其他任务作为嵌套元素,则class必须实现org.apache.tools.ant.TaskContainer接口。

  • 如果任务支持字符数据,请编写public void addText(String)方法。

  • 对于每个嵌套元素,writeaddaddConfigured方法。

  • 编写一个public void execute()方法(不带参数)并抛出BuildException


上一篇:Apache Ant目标-target标签

下一篇:Apache Ant属性

关注微信小程序
程序员编程王-随时随地学编程

扫描二维码
程序员编程王

扫一扫关注最新编程教程