ant:一种编译打包工具.
(1)Ant是一种基于Java的build工具。理论上来说,它有些类似于(Unix)C中的make ,但没有make的缺陷。
(2)既然我们已经有了make, gnumake, nmake, jam以及其他的build工具为什么还要要一种新的build工具呢?因为Ant的原作者在多种(硬件)平台上开发软件时,无法忍受这些工具的限制和不便。类似于make的工具本质上是基于shell(语言)的:他们计算依赖关系,然后执行命令(这些命令与你在命令行敲的命令没太大区别)。这就意味着你可以很容易地通过使用OS特有的或编写新的(命令)程序扩展该工具;然而,这也意味着你将自己限制在了特定的OS,或特定的OS类型上,如Unix.
(3)Ant就不同了。与基于shell命令的扩展模式不同,Ant用Java的类来扩展。(用户)不必编写shell命令,配置文件是基于XML的,通过调用 target树,就可执行各种task。每个task由实现了一个实现了特定Task接口的对象来运行。
(4)当一个代码项目大了以后,每次重新编译,打包,测试等都会变得非常复杂而且重复,因此c语言中有make脚本来帮助这些工作的批量完成。在Java 中应用是平台无关性的,当然不会用平台相关的make脚本来完成这些批处理任务了,ANT本身就是这样一个流程脚本引擎,用于自动化调用程序完成项目的编译,打包,测试等。除了基于JAVA是平台无关的外,脚本的格式是基于XML的,比make脚本来说还要好维护一些。
(5)例子:
每个ant脚本(缺省叫build.xml)中设置了一系列任务(target):比如对于一个一般的项目可能需要有以下任务。
* 任务1:usage 打印本脚本的帮助信息(缺省)
* 任务2:clean <-- init 清空初始化环境
* 任务3:javadoc <-- build <-- init 生成JAVADOC
* 任务4:jar <-- build <-- init 生成JAR
* 任务5:all <-- jar + javadoc <-- build <-- init 完成以上所有任务:jar javadoc
而多个任务之间往往又包含了一定了依赖关系:比如把整个应用打包任务(jar)的这个依赖于编译任务(build),而编译任务又依赖于整个环境初始化任务(init)等。
注:我看到很多项目的ant脚本中的命名基本上都是一致的,比如:编译一般叫build或者 compile;打包一般叫jar或war;生成文档一般命名为 javadoc或javadocs;执行全部任务all。在每个任务的中,ANT会根据配置调用一些外部应用并配以相应参数执行。虽然ANT可调用的外部应用种类非常丰富,但其实最常用的就2,3个:比如javac javadoc jar等。
(6)Ant的优点:
跨平台性。Ant是纯Java语言编写的,所示具有很好的跨平台性。
操作简单。Ant是由一个内置任务和可选任务组成的。Ant运行时需要一个XML文件(构建文件)。
分享到:
相关推荐
Maven的文档也在描述中提及,虽然主题是关于Ant,但Maven同样是一个重要的Java构建工具,它引入了更强大的依赖管理和项目生命周期概念。Maven通过约定优于配置的原则简化了项目构建过程,而`Maven入门到精通.rar`...
关于Ant的全面了解
一个简单易懂的关于ant的教程 适合初学者入门
Ant是Apache软件基金会的一个开源项目,它是一款强大的Java构建工具,用于自动化Java应用程序的构建、编译、测试和部署过程。Ant以其XML为基础的构建文件(build.xml)著称,这些文件定义了一系列任务,用于执行各种...
Apache Ant 是一个强大的Java构建工具,它被广泛用于自动化软件开发过程中的各种任务,如编译、打包、测试和部署等。Ant 是基于XML的,它的核心概念是buildfile,也就是一个XML文件,通常命名为`build.xml`,在这个...
Ant 是一个基于Java的构建工具,它主要用于自动化软件项目的构建过程,如编译源代码、打包、测试等。Ant 的核心理念是通过XML格式的构建脚本来定义项目构建的各个步骤,使得开发者能够以声明式的方式描述项目构建的...
Ant是Java开发中的一款自动化构建工具,类似于Unix的make,主要负责编译、运行、打包Java程序等构建过程。它的核心由Project、Target和Task三个主要部分组成。 1. Project(项目) Project是Ant的基本组织单元,...
### 关于Ant构建工具 #### 一、Ant简介 **Ant**是一款开源的Java构建工具,主要用于自动化构建过程,如编译、测试、部署等。它最初由James Duncan Davidson开发,现归属于Apache软件基金会。 ##### 1.1 什么是Ant...
4. `LICENSE`和`NOTICE`文件:提供关于Ant的许可信息和版权通知。 5. `build.xml`:一个示例构建文件,展示了如何配置和使用Ant。 Ant 1.2.6的主要特性可能包括: - 支持Java 1.1到1.4:这个版本的Ant兼容较旧的...
在Ant构建工具中,`macrodef`是一个非常重要的特性,它允许我们定义可重用的任务或片段,类似于编程语言中的函数或宏。这使得Ant脚本更加模块化,提高了代码的可读性和维护性。本资源是作者在处理将文件复制到远程...
标签"ant-design demo"表明这是关于Ant Design的演示项目,可以帮助开发者了解如何在自己的项目中有效地集成和使用Ant Design。通过这些示例,你可以学习到以下知识点: 1. **Ant Design组件**:每个示例都会涉及到...
在提供的压缩包文件中,"aybook.cn_antgdjsd0402.pdf"可能是一本关于Ant的电子书,其中可能包含了Ant的详细教程和实践案例。"E书说明.txt"可能是这本书的阅读指南或版权信息。"更多电子书下载.html"则可能提供了更多...
以下是关于Ant的详细知识点: 1. **Ant的基本结构**:Ant的核心组件包括任务(Tasks)、属性(Properties)和目标(Targets)。任务是Ant的基本执行单元,如编译Java代码、复制文件等;属性用于存储值,可以被任务...
以下是一些关于Ant和Java项目打包的重要知识点: 1. **Apache Ant**:Ant是一个开源的Java构建工具,由Apache软件基金会维护。它提供了一种跨平台的方式来驱动构建过程,类似于Unix的make工具,但更注重于Java环境...
《JUnitAnt_Simp(中文).CHM》:这是一部关于Ant和JUnit的中文手册,JUnit是Java编程语言中的一个单元测试框架,而Ant经常与JUnit结合使用,以便在构建过程中执行测试。手册可能涵盖了如何配置Ant任务来运行JUnit...
"README.txt"文件通常是项目的重要文档,它可能包含了关于Ant Contrib的安装指南、使用方法以及版本信息等内容。用户在使用Ant Contrib之前,应仔细阅读此文档,以了解如何正确地集成和利用这个库。 "docs"目录则...
5. **README.txt**:提供关于Ant的基本信息和安装指南,包括如何配置环境变量以使用Ant。 6. **CHANGES.txt**或**RELEASE-NOTES.txt**:记录了该版本相对于前一版本的更改和改进,这对于了解新功能和已修复的问题...
Ant作为一款强大的Java构建工具,被广泛应用于自动化这些任务。本篇文章将深入探讨Ant如何实现多渠道批量打包,以及相关知识点。 **Ant简介** Apache Ant是一个基于Java的构建工具,其设计灵感来源于Make,但使用...