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 ...
随机推荐
- MONO 安装 分析
你是安装在/etc下的吧? 5.2是没有serverbusy的提示的,那时,它就傻等,给人造成down的假像.而现在的版本,会提示的. 你升级时,upgrade后边加参数了吗? 加了 /etc/jw ...
- 【BZOJ】1818: [Cqoi2010]内部白点(树状数组+离散+特殊的技巧)
http://www.lydsy.com/JudgeOnline/problem.php?id=1818 这一题一开始我就看错了,bzoj的那个绝对值109简直坑人,应该是10^9,我直接写了个暴力. ...
- 【POJ】2449 Remmarguts' Date(k短路)
http://poj.org/problem?id=2449 不会.. 百度学习.. 恩. k短路不难理解的. 结合了a_star的思想.每动一次进行一次估价,然后找最小的(此时的最短路)然后累计到k ...
- USACO 5.4 Betsy's Tour(暴力)
水过,水过,这个程序跑7,跑5分钟左右把... /* ID: cuizhe LANG: C++ TASK: betsy */ #include <iostream> #include &l ...
- QT基本使用
安装方法: ubuntu12.04下安装QT方法:http://blog.csdn.net/xsl1990/article/details/8299756 输入以下命令: sudo apt-get i ...
- iPhone开发常问的十个问题
iPhone开发常问的十个问题 前言 今天去stackoverflow.com上看了一下iPhone标签下排名最高的10个问题,将它们整理出来,希望这些常见问题能帮到一些iPhone开发的初学者.本来 ...
- Apache开启不了------The requested operation has failed!
1.这个问题通常是由于端口被占用了,cmd输入netstat -ano查看端口号,根据端口号80的程序的pid在任务管理器下杀掉它. 2.我遇到这个问题不是这个原因.我由于刚配置了虚拟目录.查看虚拟目 ...
- Spring+Mybatis+MySql+Maven 简单的事务管理案例
利用Maven来管理项目中的JAR包,同时使用Spring在业务处理层进行事务管理.数据库使用MySq,数据处理层使用Spring和Mybatis结合. 本案例代码主要结构如图: 1.数据库脚本 -- ...
- python多线程使用
内容链接: http://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000/00138683236 ...
- Smart ECM数据发布假数据测试工作。
1. ScriptBom.java//文件方法供接口调用 代码: public String setBomEcnHistoryDataByXML(String strView){//传入arg文件名 ...