ant来历
| 看看《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来历的更多相关文章
- Jenkins 安装的HTML Publisher Plugin 插件无法展示ant生成的JunitReport报告
最近在做基于jenkins ant junit 的测试持续集成,单独ant junit生成的junitreport报告打开正常,使用Jenkins的HTML Publisher Plugin 插件无 ...
- React中使用Ant Table组件
一.Ant Design of React http://ant.design/docs/react/introduce 二.建立webpack工程 webpack+react demo下载 项目的启 ...
- [Ant]Ant简易教程
前言 Apache Ant,是一个将软件编译.测试.部署等步骤联系在一起加以自动化的一个工具,大多用于Java环境中的软件开发.由Apache软件基金会所提供. Ant是纯Java语言编写的,所以具有 ...
- jenkins / ant / jmeter 持续集成接口自动化
1. 将 jmeter 脚本放在/var/lib/jenkins/workspace/Jmeter_auto/jmxpath路径下 2. 点击http://jk.facebank.net.cn/job ...
- Maven与Ant比较
Maven与Ant比较 0 « 上一篇:Jenkins学习三:介绍一些Jenkins的常用功能» 下一篇:Jenkins学习四:Jenkins 邮件配置 posted @ 2015-03-25 16: ...
- 一.Jmeter+Ant+Jenkins搭建持续集成接口性能自动化测试
微创新作品信息 1)微创新作品描述 A.为什么诞生: 1. 接口测试是测试系统组件间接口的一种测试.接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点.测试的重点是要检查数据的交换, ...
- Eclipce结合Ant进行编译、打包、传输、运行
注意: 用Ant构建时,build path只能是单级的,如默认的src,如果是类似basePath/jsr253这样的话,运行Ant build时会报错,说找不到jsr253. (此文讲述的是以an ...
- ant 使用指南
一.概述 ant 是一个将软件编译.测试.部署等步骤联系在一起加以自动化的一个工具,大多用于Java环境中的软件开发.在实际软件开发中,有很多地方可以用到ant. 开发环境: System:Windo ...
- 在Eclipse中集成Ant配置
提要:本文将向你展示如何使用Eclipse设置为Ant所用的属性值和环境变量,并简要分析如何配置Ant编辑器以便从Eclipse内部操作Ant文件. 一. 修改Ant Classpath 在使用一个可 ...
随机推荐
- 学习笔记-[Maven实战]-第一章:Maven简介
Maven简介: Maven 可翻译为:知识的积累,也可以翻译为"专家"或"内行". Maven 是一个跨平台的项目管理工具,是Apache组织中一个很成功的开 ...
- wzplayer2 for windows ActiveX 试用地址
提供wzplayer2 for windows ActiveX,测试地址:http://www.coolradio.cn/IE.htm 大家使用时候必须允许未签名ActiveX下载和运行,否则将无法正 ...
- 结构体dict_index_t;
/** InnoDB B-tree index */ typedef struct dict_index_struct dict_index_t; /** Data structure for an ...
- Lombok 安装、入门 - 消除冗长的 java 代码(转)
前言: 逛开源社区的时候无意发现的,用了一段时间,觉得还可以,特此推荐一下. lombok 提供了简单的注解的形式来帮助我们简化消除一些必须有但显得很臃肿的 java 代码.特别是相对于 ...
- Azure Backup 入门
Viswanath Tata 云 + Enterprise项目经理 Azure Backup是一款允许客户将数据备份到 Azure的强大工具.请参阅这篇文章,快速了解 Azure Backup.我 ...
- Android 实用代码七段(三)
前言 终于又攒了一篇出来,本系列以实用为主,欢迎和我分享和推荐好用的代码段~~ 声明 欢迎转载,但请保留文章原始出处:) 博客园:http://www.cnblogs.com 农民伯伯: http: ...
- lightoj 1010
题意,在一个n*n的棋盘上放置一些马,使这些马不能互相攻击,问最多能放多少. 思路:从第一行每隔一个放置一个马即可,注意n=1和n=2的情况要特判. #include<cstdio> in ...
- Curl之获取外网IP
获取外网IP:curl -s ifconfig.me
- localStorage保存账号密码
首先是判断浏览器是否支持这一属性,他是HTML5里的属性: if(window.localStorage){ alert('支持');}else{ alert('不支持');} localStorag ...
- sublime text 3 中 SFTP插件 的 配置
SFTP 插件.主要功能就是通过 FTP/SFTP 连接远程服务器并获取文件列表,可以选择下载编辑.重命名.删除等等操作,点下载编辑之后,可以打开这个文件进行修改.修改完成之后,保存一下会自动上传到远 ...