看看《ant权威指南》或者ant的网站吧,里面介绍得非常详细ant的来历,目的。
ant是tomcat的一个副产品,是在开发tomcat过程中,开发人员需要一个整合编译工具,因为在一个大项目中,源代码散落在不同的package下面,即不同的子目录下面,子目录即包含源码文件,又包含更深层的子目录,因此,编译源代码并不是一句命令就可以搞定的。

windows下面用visual studio开放产品的时候可以一键编译,是因为visual studio创建了很多项目资源文件,编译时在后台自动调用了很多cc之类的命令,这个和Unix/Linux下编译过程是一样的,只不过没有明显显示出来而已。Unix/Linux下有一个自动编译工具,叫做automake,只要你定义好Makefile,然后只要运行make命令,automake会自动到所有子目录下寻找需要编译的源码进行编译和连接,所以unix/linux下也可以一条命令编译。

可惜,java下并没有这样的工具。所以tomcat的开发者原来想使用automake作为集成编译工具的。不过,后来发现automake并不完全符合他们的要求,首先,automake不是跨平台的,这就意味着他们写的编译脚本不能和tomcat源代码一样被移植。其次,开发者需要的一些特性automake提供不了,扩展其功能也不是非常方便,所以就自己开发了一个基于java的跨平台的make工具,ant就这样诞生了。

由于java程序的特性,不同的源代码编译的时候需要引入很多第三方的jar包,ant可以使用通配符的方法自动装载一些目录下所有的jar,而不再需要一个一个手工指定classpath了。这点是最早引起我注意ant的。用ant管理java程序的发布过程,编译,测试,生成javadoc文档,打包,上传,可以用一个命令就搞定了,是不是很方便?

除此之外,ant可以执行的操作已经远远超过了编译java程序这个范围。ant可以下载网络上的文件,可以通过ftp上传/下载文件,可以自动把编译好的有关文件打包,可以自动打包成jar, war, ear等java ee所需要的应用包的不同格式,自动调用测试程序来测试代码,也可以自动解开压缩包。ant还可以实现文本替换, 实现copy, move, delete 等等文件操作。通过ant配置文件也可以让你用命令行就可以发送邮件,自动部署tomcat应用。还能自动从源码管理系统如CVS/Subverion/VSS里面取出源代码,也能自动向源码版本管理系统提交修改。功能太多了。具体自己看ant的文档吧。

我就曾经用ant实现了一个每日自动把日志文件压缩后并上传到某个服务器,然后发送邮件通知的功能,也实现过每天自动备份指定的目录的功能,ant能够自动识别新修改过的文件而实现了增量备份,省时省力,非常好用,比写perl脚本都要简单许多。整个ant目录不含文档仅3.41M大小,加上文档总共31.4M,ant的文档是非常详细的,几乎每一个ant命令都有示例,依样画葫芦copy下来稍微改一下就可以用了。如果英文水平足够的话光看文档就够了,不需要买任何书就能掌握ant的用法了。

ant来历的更多相关文章

  1. Jenkins 安装的HTML Publisher Plugin 插件无法展示ant生成的JunitReport报告

    最近在做基于jenkins ant  junit 的测试持续集成,单独ant junit生成的junitreport报告打开正常,使用Jenkins的HTML Publisher Plugin 插件无 ...

  2. React中使用Ant Table组件

    一.Ant Design of React http://ant.design/docs/react/introduce 二.建立webpack工程 webpack+react demo下载 项目的启 ...

  3. [Ant]Ant简易教程

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

  4. jenkins / ant / jmeter 持续集成接口自动化

    1. 将 jmeter 脚本放在/var/lib/jenkins/workspace/Jmeter_auto/jmxpath路径下 2. 点击http://jk.facebank.net.cn/job ...

  5. Maven与Ant比较

    Maven与Ant比较 0 « 上一篇:Jenkins学习三:介绍一些Jenkins的常用功能» 下一篇:Jenkins学习四:Jenkins 邮件配置 posted @ 2015-03-25 16: ...

  6. 一.Jmeter+Ant+Jenkins搭建持续集成接口性能自动化测试

    微创新作品信息 1)微创新作品描述 A.为什么诞生: 1. 接口测试是测试系统组件间接口的一种测试.接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点.测试的重点是要检查数据的交换, ...

  7. Eclipce结合Ant进行编译、打包、传输、运行

    注意: 用Ant构建时,build path只能是单级的,如默认的src,如果是类似basePath/jsr253这样的话,运行Ant build时会报错,说找不到jsr253. (此文讲述的是以an ...

  8. ant 使用指南

    一.概述 ant 是一个将软件编译.测试.部署等步骤联系在一起加以自动化的一个工具,大多用于Java环境中的软件开发.在实际软件开发中,有很多地方可以用到ant. 开发环境: System:Windo ...

  9. 在Eclipse中集成Ant配置

    提要:本文将向你展示如何使用Eclipse设置为Ant所用的属性值和环境变量,并简要分析如何配置Ant编辑器以便从Eclipse内部操作Ant文件. 一. 修改Ant Classpath 在使用一个可 ...

随机推荐

  1. SQL Server中时间段查询

    /****** Script for SelectTopNRows command from SSMS ******/ select * from dbo.VehicleData20100901 wh ...

  2. BZOJ_1619_[Usaco2008_Nov]_Guarding_the_Farm_保卫牧场_(模拟+bfs)

    描述 http://www.lydsy.com/JudgeOnline/problem.php?id=1619 给出一张图每个点的高度,在一个点上安排守卫可以监视周围所有不高于于当前点的点.也就是类似 ...

  3. js打印的两种方法

    第一种: <!--startprint1-->……打印的内容放在这里…… <!--endprint1--> //打印 function preview(DivID) { ) { ...

  4. [Tommas] 如何创建自动化功能测试的基本原则

    每个实行持续交付的项目,都有生产流水线的元素,如持续集成和自动化测试.这些测试是在不同层面进行的,从单元测试到冒烟测试再到功能测试.自动化功能测试的优点之一是可重复性和可预测的执行时间.出于这个原因, ...

  5. Code First to an Existing Database

    Code First to an Existing Database https://msdn.microsoft.com/en-us/data/jj200620 https://weblogs.as ...

  6. Soap UI 数据库脚本(转)

    3:在SoapUI的Test Case中新建Groovy Script连接数据库 接口如下 def sql = Sql.newInstance( 地址, 用户名, 密码, 驱动 ) 实现样例如下: i ...

  7. 【原】Spark中Master源码分析(一)

    Master作为集群的Manager,对于集群的健壮运行发挥着十分重要的作用.下面,我们一起了解一下Master是听从Client(Leader)的号召,如何管理好Worker的吧. 1.家当(静态属 ...

  8. (转载)JDK中的设计模式

    写的很好,学习道路更轻松一些 原文地址:http://blog.csdn.net/gtuu0123/article/details/6114197 JDK中设计模式 分类: Java相关 设计模式 2 ...

  9. 多线程归并排序(摘自githhub)

    package com.rationalcoding.sort; import java.util.ArrayList; import java.util.Arrays; import java.ut ...

  10. FZU 2122 又见LKity

    直接模拟或者KMP #include <iostream> #include <string.h> #include <stdio.h> #include < ...