Ant学习-001-ant 基础知识及windows环境配置
一、Ant 概要基础知识
Apache Ant 是一个将软件编译、测试、部署等步骤联系在一起加以自动化的一个工具,大多用于Java环境中的软件开发,用以构建应用,或结合其他开源测试工具例如 git、TestNG等搭建持续集成测试开发环境,从而高效、高质量的构建产品。
Ant 有以下一些优点:
- 跨平台,可移植。Ant 是 Java 语言编写的,所以有很好的跨平台性和可移植性,无论是在 windows、Linux,还是 mac。
- 操作简单。 Ant 是由一个内置任务和可选任务组成的,运行时需要一个构建文件(build.xml),其通过调用目标树(target),就可以执行各种任务(task),同时每个 task 实现了特定接口对象。
- 易维护。Ant 构建文件(build.xml)是 XML 格式的文件,结构清晰简洁,所以很容易维护和书写。构建文件可以放在任何位置,通常建议将其放在项目的根目录中,以保持项目的简洁和清晰。
通常 Ant 构建项目的典型层次结构为:
- src :存放源文件
- classes :存放编译后的字节码文件
- lib :存放第三方的 jar 包
- dist :存放编译后的包,以及发布以后的代码
Ant 的构建文件是 xml 文件。每个构建文件定义一个唯一的项目(Project元素)。每个项目下可定义很多目标(target元素),这些目标之间可以有依赖关系。当执行这类目标时,需要执行他们所 依赖的目标。每个目标中可以定义多个任务,目标中还定义了所要执行的任务序列。Ant在构建目标时必须调用所定义的任务。任务定义了 Ant 实际执行的命令,其任务可分为以下几类:
- 核心任务:Ant 自带任务
- 可选任务:为第三方的任务,需要对应附加的 jar 文件
- 定制任务:用户自定义的任务,为用户自己开发的任务
二、windows 环境搭建
1.Ant 下载
进入 Apache Ant 下载 页面,如下所示,依据平台选择对应的 Ant 文件下载(此处选择 windows zip):

成功下载后,解压到本地文件夹,例如:D:\envConfig\apache-ant-1.9.6,解压后目录结构如下所示:
ant
+--- README, LICENSE, fetch.xml, other text files. // ant 基本信息
+--- bin // 包含一些启动脚本等
|
+--- lib // 包含了 ant 所需的 jar 及其依赖
|
+--- docs // 说明文档、用户手册等
| |
| +--- images // 文档、用户手册中的图片
| |
| +--- manual // 用户手册(必读)
|
+--- etc // xls 相关(创建增强报告,从不同的任务输出;迁移构建文件,避免过时的警告等等)
2.Ant 环境变量配置
在系统变量中添加:ANT_HOME=D:\envConfig\apache-ant-1.9.6,用于启动脚本查找相应的库文件
在path变量中添加:path=%ANT_HOME%\bin;%path%
同时用户需要配置 JDK,JAVA_HOME 主要用于启动后加载 JDK/JRE,关于如何配置 JDK 请参阅 Java学习-001-JDK安装配置
3.Ant 验证
启动命令行窗口输入命令:ant,将获得如下所示的信息提示:
Buildfile: build.xml does not exist!
Build failed
此时,可以说 Ant windows 环境已经配置成功,出现上述提示的原因是,缺失了 Ant 的构建文件 build.xml。若要查看 Ant 的版本,可在命令行窗口输入:ant -version,结果如下所示:
Apache Ant(TM) version 1.9.6 compiled on June 29 2015
至此, Ant学习-001-ant 基础知识及windows环境配置 顺利完结,希望此文能够给初学 ant 的您一份参考。
最后,非常感谢亲的驻足,希望此文能对亲有所帮助。热烈欢迎亲一起探讨,共同进步。非常感谢! ^_^
Ant学习-001-ant 基础知识及windows环境配置的更多相关文章
- Selenium2学习-001-Selenium2 WebUI自动化Java开发 Windows 环境配置
此文主要介绍 Selenium2 WebUI自动化Java开发 Windows 环境配置,供各位亲们参考,若有不足之处,敬请各位大神指正,非常感谢! 所需软件列表如下所示: 所属分类 具体名称 备注 ...
- 如何学习FPGA?FPGA学习必备的基础知识
如何学习FPGA?FPGA学习必备的基础知识 时间:2013-08-12 来源:eepw 作者: 关键字:FPGA 基础知识 FPGA已成为现今的技术热点之一,无论学生还是工程师都希望 ...
- MyBatis:学习笔记(1)——基础知识
MyBatis:学习笔记(1)--基础知识 引入MyBatis JDBC编程的问题及解决设想 ☐ 数据库连接使用时创建,不使用时就释放,频繁开启和关闭,造成数据库资源浪费,影响数据库性能. ☐ 使用数 ...
- C#学习笔记(基础知识回顾)之值类型与引用类型转换(装箱和拆箱)
一:值类型和引用类型的含义参考前一篇文章 C#学习笔记(基础知识回顾)之值类型和引用类型 1.1,C#数据类型分为在栈上分配内存的值类型和在托管堆上分配内存的引用类型.如果int只不过是栈上的一个4字 ...
- C#学习笔记(基础知识回顾)之值传递和引用传递
一:要了解值传递和引用传递,先要知道这两种类型含义,可以参考上一篇 C#学习笔记(基础知识回顾)之值类型和引用类型 二:给方法传递参数分为值传递和引用传递. 2.1在变量通过引用传递给方法时,被调用的 ...
- C#学习笔记(基础知识回顾)之值类型和引用类型
一:C#把数据类型分为值类型和引用类型 1.1:从概念上来看,其区别是值类型直接存储值,而引用类型存储对值的引用. 1.2:这两种类型在内存的不同地方,值类型存储在堆栈中,而引用类型存储在托管对上.存 ...
- Quartz学习笔记:基础知识
Quartz学习笔记:基础知识 引入Quartz 关于任务调度 关于任务调度,Java.util.Timer是最简单的一种实现任务调度的方法,简单的使用如下: import java.util.Tim ...
- ASP.NET Core Windows 环境配置 - ASP.NET Core 基础教程 - 简单教程,简单编程
原文:ASP.NET Core Windows 环境配置 - ASP.NET Core 基础教程 - 简单教程,简单编程 ASP.NET Core Windows 环境配置 ASP.NET Core ...
- cocos2d-x3.0 windows 环境配置
cocos2d-x3.0 windows 环境配置 参考Oo泡泡糖oO的CSDN博文 :http://blog.csdn.net/u010296979/article/details/24273393 ...
随机推荐
- topcoder SRM 592 DIV2 LittleElephantAndPermutationDiv2
#include <iostream> #include <vector> #include <algorithm> #include <iterator&g ...
- CC150 - 11.2
Question: Write a method to sort an array of strings so that all the anagrams are next to each other ...
- fireBug使用指南
据说,对于网页开发人员来说,Firebug是Firefox浏览器中最好的插件之一. 我最近就在学习怎么使用Firebug,网上找到一篇针对初学者的教程,感觉比较有用,就翻译了出来. ========= ...
- sqlmap我常用到的几个参数
-r "抓的包存放的文件路径.txt" 一般方便带cookie与session类型 --dbms Oracle/Mysql 指定数据库类型 指定变量注入点变量:在变量 ...
- 清除行内元素之间HTML空白的几种解决方案
行内块(inline-block)是非常有用的,特别是想要不用'block'和'float'来控制这些行内元素的margin,padding之时. 问题来了,HTML源码中行内元素之间的空白有时候显示 ...
- [转]通过继承ConfigurationSection,在web.config中增加自定义配置
本文转自:http://www.blue1000.com/bkhtml/2008-02/55810.htm 前几天写了一篇使用IConfigurationSectionHandler在web.conf ...
- 增加Activity Monitor中的作业保存数量
在Master Server的注册表中加入如下两个键值即可: (1500的单位是小时)
- 管理Sass项目文件结构
构建你的结构体系 CSS预处理器的特点之一是可以把你的代码分割成很多个文件,而且不会影响性能.这都要归功于Sass的@import命令,只要在你的开发环境下,你调用不管多少文件,最终将编译出一个CSS ...
- Git Shell使用笔记
1,首次打开Git shell错误(以前打开过gethub客户端) 警告: git command could not be found. Please create an alias or add ...
- POJ 1062 dij
一道读题读的不明所以的题... 每个人只能接受和自己等级差距不超过m的人进行交易 包括间接交易 所以我们可以枚举每一个长度为m的围绕着酋长的等级区间 每次都对这个等级区间内的人进行操作 求dis[1] ...