一、概述
本节介绍了Ant的下载、安装,以及ant脚本基础知识。
更复杂的内容,后续用到再讲。
二、Ant下载
https://ant.apache.org/bindownload.cgi
JDK8可下载1.10.X的最新版
更早JDK版本(至少JDK5以上)可下载1.9.X的最新版
下载zip包即可,win环境和linux环境均可使用
以下以apache-ant-1.9.13-bin.zip为例说明。
三、Ant安装
解压下载的apache-ant-1.9.13-bin.zip至某目录,如
D:\Program Files\apache-ant-1.9.13
配置系统环境变量ANT_HOME,值为D:\apache-ant-1.9.5;
在系统环境变量path中头部添加%ANT_HOME%\bin;
打开命令行,开始--运行--cmd--回车,然后输入ant -version,如果显示出ant的版本信息,说明已配置正确。
四、用Ant脚本编写一个Hello World!
在本地某目录下,如 D:\AntScript新建一个文本文件,并重命名为build.xml,将以下内容复制进去:
<?xml version="1.0" encoding="UTF-8"?>
<project default="echo">
<target name="echo">
<echo message="Hello world!" />
</target>
</project>
然后在cmd窗口执行以下命令:
D:
cd D:\AntScript
ant
则显示以下信息
Buildfile: d:\AntScript\build.xml
echo:
[echo] Hello world!
BUILD SUCCESSFUL
Total time: 0 seconds
五、build.xml基本说明
1. 在第3节中,在D:\AntScript目录下执行ant指令,默认执行该目录下的build.xml,如果你编写的文件不叫build.xml,比如叫build-helloworld.xml,则需增加 -file build-helloworld.xml,
如:
ant -file build-helloworld.xml
2. 你可以注意到build.xml中的根标签叫project,可以理解成java的类名,里面有个 default="echo",这表示默认执行name="echo"的target,可以理解成一个叫echo的方法。如果project中没有定义这个default,那么你执行ant指令时需要显式指定你要执行的target名称,
如:
ant echo
六、搞个复杂点的:变量的使用
调整build.xml内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<project default="echo">
<property name="myVar" value="Hello world!" />
<target name="echo">
<echo message="Use a property to say:${myVar}" />
</target>
</project>
这一次我们使用了标签property,定义了一个变量“myVar”,并使用${myVar}引用这个变量值,其它不多说了,try ant again~
七、再复杂点:变量定义文件的使用
在 D:\AntScript下新建一个文本文件,并重命名为build_params.properties,将以下内容复制进去:
##################################################
## 一个参数配置文件示例 ##
##################################################
# 我是一个参数
myVar=Hello world 2~
myVar=Hello world 3~
调整build.xml如下
<?xml version="1.0" encoding="UTF-8"?>
<project default="echo">
<property file="build_params.properties" />
<property name="myVar" value="Hello world!" />
<property name="myVar" value="Hello world 1!" />
<target name="echo">
<echo message="Import a property file to say:${myVar}" />
</target>
</project>
这一次我们在一个叫build_params.properties的文件中定义了myVar变量(注意为了验证同名变量的情况,定义了2遍,值不相同),并在build.xml中引入这个变量定义文件: <property file="build_params.properties" />。
运行ant将打印出:
Import a property file to say:Hello world 3!
在这里说一下出现同名变量定义的情况ant的处理:
1. 在build.xml里,用靠前的;
2. 在properties文件里,用靠后的;
大家可以调换下几个同名变量的位置试一下~
八、ant的外部参数
这次我们在调用ant命令时传入参数值:
ant -DmyVar="Hello world 4!"
打印出
Import a property file to say:Hello world 4!
可以看到,命令行里的参数优先于脚本中的同名参数。
九、ant的Task学习手册
Ant的Task,可以理解成api,像上面例子中的echo就是一个task,有自己参数,使用它可以完成一个打印消息的动作。
Ant的学习手册可以打开ant安装目录下manual/index.html页面,点击左侧的Ant Tasks,再点击List of Tasks查看。
好吧,今天就到这里,下一节将介绍如何编写一个在linux服务器安装JDK的脚本。