Apache Ant的安装

介绍

Apache Ant是一个Java库和一个 命令行工具,可以用来构建Java应用。Ant提供了许多内置的任务(tasks),可以编译、组装、测试、运行Java应用。Ant也可以构建非Java应用,例如C、C++应用。

Ant非常灵活,没有强制Java项目必须满足什么编码规范、或者必须有什么样的目录布局。

Apache Ant官网

https://ant.apache.org/

Ant对Java版本的要求

当前, Ant维护了两条开发主线,一条是 1.9.x系列版本,运行时需要Java5及以后版本;另外一条是1.10.x系列版本,运行时需要Java8及以后版本。

当前1.9.x正是修改问题,1.10.x会新增特性,推荐采用1.10.x版本。

如果只有JRE,而不是一个完整的JDK,那么Ant的许多任务不能执行。

https://ant.apache.org/faq.html

Ant版本下载

如果是下载二进制发布包,打开页面:https://ant.apache.org/bindownload.cgi

例如,下载1.10.14版本的zip包,下载下来是apache-ant-1.10.14-bin.zip:

目录结构

将下载下来的压缩包解压到某个目录下,例如D盘,解压后的目录结构如下:

运行Ant,只有bin和lib子目录是必须的。

bin子目录下是启动脚本:

etc子目录包含xsl文件:

lib子目录下是Ant JAR文件和必须的依赖:

manual子目录下存放了手册,双击该目录下的index.html,显示文档内容:

设置环境变量

设置JAVA_HOME环境变量

设置JAVA_HOME环境变量指向JDK的安装路径,例如:

设置ANT_HOME环境变量

设置ANT_HOME环境变量指向Ant的安装路径,例如:

将bin子目录的路径增加到Path环境变量中

将${ANT_HOME}/bin (Unix) 或者 %ANT_HOME%\bin (Windows)增加到Path环境变量中,例如:

(可选)在Ant安装目录下运行命令ant -f fetch.xml -Ddest=system下载依赖库到本地

在ANT_HOME目录(就是Ant的安装目录)下面运行命令:

ant -f fetch.xml -Ddest=system

这个命令可以下载Ant可选任务需要的几乎所有依赖库到ANT_HOME/lib目录下面。如果不运行这个命令,许多的Ant依赖任务无法正确执行。

其中-Ddest后面各种取值的含义如下:

  -Ddest=user     user lib dir  ${user.home}/.ant/lib (下载的jar包放到用户的home目录下面)
  -Ddest=system   ant lib dir   ${ant.home}/lib   (下载的jar包放到Ant的lib目录下面。推荐用这个选项)
  -Ddest=optional optional dir  $${basedir}/lib/optional  (for Ant developers)  (下载的jar包放到源代码的lib/optional目录下面,在构建Ant源代码的时候使用这种方式)

https://ant.apache.org/manual/index.html

fetch.xml文件在Ant安装目录下:

看看在执行这个命令前,lib目录下的文件数量:

执行命令ant -f fetch.xml -Ddest=system:

省略了中间很多的输出。。。

最后输出:

看看在执行这个命令后,lib目录下的文件数量,可以发现,增加了很多文件:

可选任务

Ant提供了很多可选任务。一个可选任务通常需要外部的库才能运行。可选任务和核心任务打包在一起。

每个可选任务需要的外部依赖库参见https://ant.apache.org/manual/index.html

这些依赖的外部库必须增加到 Ant's classpath中,可以用下面的一种方式:

  • 放在ANT_HOME/lib目录下面,这种方式增加的jar文件对Ant的所有用户和builds可见。
  • 放在${user.home}/.ant/lib (从Ant 1.6支持),这种方式允许不同的用户增加新的库到Ant中。增加到该目录下的jar文件在命令行模式下的Ant可用。
  • 在命令行下使用-lib参数。这种方式可以case-by-case增加jar文件。
  • 在CLASSPATH 环境变量下。应该尽量避免这种方式。因为这种方式增加的jar文件对所有Java应用可见。
  • 在被任务本身可接受的路径下面。

检查安装

到cmd窗口下,输入ant,然后回车,输出如下信息:

这表示ant安装成功了。之所以出现上面的信息,是因为必须为项目写一个build.xml文件才行。

查看ant的版本

到cmd窗口下,输入ant -version,可以查看ant的版本信息。例如:

使用ant -diagnostics自我诊断问题

Ant有一个内置的诊断功能。运行ant -diagnostics命令,ant会查看它的内部状态,并打印出来。将会检查并打印如下几方面的信息:

  • ant从哪边运行的
  • ant.jar和 包含可选任务的ant-*.jar的版本号
  • ANT_HOME/lib目录下面有哪些JAR文件
  • 哪些可选任务可用
  • XML解析器的信息
  • JVM系统属性
  • temp 目录的状态
  • 当前的时区

例如,一次执行ant -diagnostics命令打印的信息(有的信息比较多,只部分截屏):






相关推荐
斌斌_____16 分钟前
通过反射机制,比较两个对象的字段值的差异
java
cooldream200920 分钟前
Spring Boot中集成MyBatis操作数据库详细教程
java·数据库·spring boot·mybatis
阑梦清川30 分钟前
JavaEE进阶---第一个SprintBoot项目创建过程&&&我的感受
java·java-ee·springboot
程序员清风35 分钟前
浅析Web实时通信技术!
java·后端·面试
wyh要好好学习42 分钟前
SSM— spring,springMVC,mybatis整合
java·spring
海害嗨1 小时前
牛客网Java高频面试题(2024最新版含答案)
java·开发语言
A-bodgie1 小时前
Spring 中的 Environment 对象
java·后端·spring·servlet·springboot
桐桐桐2 小时前
Spring Security @PreAuthorize @PostAuthorize 权限控制
java·后端·spring
What_can_i_say jdk?2 小时前
初学Java基础Day22---枚举
java·开发语言
LUwantAC2 小时前
Java学习路线:Maven(三)继承关系
java·学习·maven