Ant介绍及标签用法

一、apache ant介绍(介绍内容来源于百度百科)

1、简介

            Apache Ant,是一个将软件编译、测试、部署等步骤联系在一起加以自动化的一个工具,大多用于Java环境中的软件开发。由Apache软件基金会所提供。

2、优点

          Ant是Apache软件基金会JAKARTA目录中的一个子项目,它有以下的优点。跨平台性。Ant是纯Java语言编写的,所以具有很好的跨平台性。操作简单。Ant是由一个内置任务和可选任务组成的。Ant运行时需要一个XML文件(构建文件)。 Ant通过调用target树,就可以执行各种task。每个task实现了特定接口对象。由于Ant构建文件 是XML格式的文件,所以很容易维护和书写,而且结构很清晰。Ant可以集成到开发环境中。由于Ant的跨平台性和操作简单的特点,它很容易集成到一些开发环 境中去。

3、开发

Ant的构建文件
当开始一个新的项目时,首先应该编写Ant构建文件。构建文件定义了构建过程,并被团队开发 中每个人使用。Ant构建文件默认名为build.xml,也可以取其他的名字。只不过在运行的时候 把这个命名当作参数传给Ant。构建文件可以放在任何的位置。一般做法是放在项目顶层目录中。 这样可以保持项目的简洁和清晰。下面是一个典型的项目层次结构。
(1) src存放文件。
(2) class存放编译后的文件。
(3) lib存放第三方JAR包。
(4) dist存放打包,发布以后的代码。
Ant构建文件是XML文件。每个构建文件定义一个唯一的项目(Project元素)。每个项目下可以定 义很多目标(target元素),这些目标之间可以有依赖关系。当执行这类目标时,需要执行他们所 依赖的目标。每个目标中可以定义多个任务,目标中还定义了所要执行的任务序列。Ant在构建目标时必须调 用所定义的任务。任务定义了Ant实际执行的命令。Ant中的任务可以为3类。
(1) 核心任务。核心任务是Ant自带的任务。
(2) 可选任务。可选任务是来自第三方的任务,因此需要一个附加的JAR文件。
(3) 用户自定义的任务。用户自定义的任务是用户自己开发的任务。
二、标签及属性含义

1.标签

       每个构建文件对应一个项目。标签是构建文件的根标签。它可以有多个内在属性,其各个属性的含义分别如下。

(1) default表示默认的运行目标,即指定默认的target(即任务)。这个属性是必须的。
(2) basedir表示项目的基准目录。
(3) name表示项目名。
(4) description表示项目的描述。
2. 标签

       一个项目标签下可以有一个或多个target标签。一个target标签可以依赖其他的target标签。例 如,有一个target用于编译程序,另一个target用于生成可执行文件。在生成可执行文件之前必须先编译该文件,因此可执行文件的target依赖于编译程序的target。Target的所有属性如下。

(1).name表示目标名,这个属性是必须的。
(2).depends表示依赖的目标。
(3)if表示仅当属性设置时才执行,不常用。
(4)unless表示当属性没有设置时才执行,不常有。
(5)description表示项目的描述。
3. 标签

      用于声明键值对

      (1).name表示属性名,访问属性值时使用${属性名}

      (2).value表示属性值。

4.标签

        该标签用于创建一个目录,它有一个属性dir用来指定所创建的目录名.

       

5.标签

       表示在命令行下输出,类似于java中的System.out.println(),在标签中配置message属性后即可在命令行下打印该属性的值。

6.标签

        该标签用于文件或目录的拷贝

        (1).文件拷贝

             <copy file="test.txt" tofile="build/test.txt" />

    file属性表示要拷贝的文件路径,tofile属性表示要拷贝的目的文件路径。如果待拷贝的文件不存在,则命令执行会失败,如果目的文件路径不存在,则命令执行时会自动创建目录

         

        (2).目录拷贝

  1. <copy todir="build/dest_dir">  
  2.             <fileset dir="origin_dir" />  
  3. copy> 

如果待拷贝的目录不存在,则命令执行会失败,如果目的路径不存在,则命令执行时会自动创建目录。
(3).overwrite 表示指定是否覆盖目标文件,默认值是不覆盖。
(4).includeEmptyDirs 表示指定是否拷贝空目录,默认值为拷贝。
(5).failonerror 表示指定如目标没有发现是否自动停止,默认值是停止。
(6).verbose 表示制定是否显示详细信息,默认值不显示。

 7.标签         

该标签用于删除一个文件或一组文件,去属性如下。
(1)/file表示要删除的文件。
(2).dir表示要删除的目录。
8. 标签
该标签用来生成一个JAR文件,其属性如下。
(1) destfile表示JAR文件名。
(2) basedir表示被归档的文件名。
(3) includes表示被归档的文件模式,常用,是重点。
(4) excludes表示被排除的文件模式,常用,是重点。
9.标签
用于将.java文件编译成.class文件
(1).srcdir指定了java源文件所在的路径
(2).destdir指定的是编译后的class文件存放的路径

10.标签
用于执行.class文件
  1. <java classname="Test">  
  2.             <classpath>  
  3.                 <pathelement path="build/classes" />  
  4.             classpath>  
  5. java> 
       (1).classname属性,指定了要执行的main class名,
 (2).标签中的标签,指定了class文件的路径。
11.标签
用于获取时间戳
  1. >  
  2.          TODAY" pattern="yyyyMMDD" locale="cn" />  
  3. > 获取当前时间到TODAY,pattern表示时间格式。
 









你可能感兴趣的:(Ant相关知识)