前言
最近接手了一个老项目,使用Ant进行编译和打包。现在用的都是MAVEN,或者是Gradle。用了就总结一下,都是营养啊。
一、Ant是什么?
Ant是Apache基金下的一个项目,能够就将编译、测试、部署编排在一起实现自动化,类似于Maven的各个生命周期执行过程。
Ant运行的核心是一个XML文件,执行各种target。
二、Ant的使用
1.安装及配置
1.1JDK安装
Ant运行是依赖Java环境的,因此先安装Java环境。
并配置“JAVA_HOME”环境变量。
1.2安装Ant
下载安装包
到官网下载Ant,https://ant.apache.org/bindownload.cgi
这里注意Ant的不同版本对JDK版本是有不同的要求的。
如果本机的JDK版本是8及以上,那么请选择1.10.*版本。
如果本机的JDK版本是8以下,选择1.9.*版本。
配置环境变量
新建ANT_HOME
修改PATH,增加ANT的路径
测试
打开命令行工具,执行ant -version
查看版本
2.使用Ant进行编译打包
2.1创建工程
Authority:权限子模块
Upload:上传子模块
src:java及配置文件汇聚目录
build:编译目录
在工程根目录下,创建build.xml
<?xml version="1.0" encoding="UTF-8"?>
<!--
build.xml文件:
每个需要构建的项目都要定义一个build.xml文件(默认的名称),对构建过程进行定义
project标签:build.xml文件只能有一个project标签,代表定义一个构建项目
name:项目名称 。
basedir:基准目录,构建过程中的相对路径都会参照这个路径来。按照一般的习惯,build.xml都会放在项目的根目录下,
因此这里使用"."标示当前目录,也就是相对路径的跟都是项目根目录,这样很方便。
default:对应某一个target,当使用该配置文件,运行ant的时候,会把这个target作为执行的入口。
有点类似Maven中指定程序的主文件。
property标签:对属性的定义,共后续的构建步骤中使用。类似于java 的 static final String
name:属性名称,大消息敏感
value:属性值
target标签:一个构建项目可以包含多个target构建目标。一个构建目标,也可以依赖另外一个target构建目标。类似于Maven的goal
name:目标名称
depends:需要依赖的target目标,通过这个属性,也就实现了target的顺序执行
if:表示仅当条件满足的时候才执行target目标
-->
<project name="uip" basedir="." default="makewar">
<!-- 定义代码编译时需要依赖的lib包的路径 -->
<property name="classpath_lib" value="WebApp/WEB-INF/lib" />
<!-- 定义lib包的路径 -->
<path id="classpath">
<fileset dir="${classpath_lib}">
<include name="*.jar" />
</fileset>
</path>