当前位置: 首页 > 教程 > ANT >

Apache Ant任务-task标签

精华
小牛编辑
93浏览
2023-03-14

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

1. 任务结构

任务配置结构可包括:

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

Apache Ant任务分为两类:

  • 内置任务
  • 用户定义的任务

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

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

  • 存档任务
  • 审计任务
  • 编译任务
  • 执行任务
  • 文件任务
  • 记录任务
  • 邮件任务

……

2.1. 存档任务

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

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

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.yiibai.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