ant 入门

一、构建ant环境

1、下载:到ANT官方网站http://mirror.bjtu.edu.cn/apache/ant/binaries/下载最新版本,当前是apache-ant-1.8.4-bin.zip,解压后即可。
2、配置环境变量:我的电脑----属性-----高级----环境变量
如:ANT_HOME:D:\ant
PATH:%ANT_HOME%\bin (为了方便在dos环境下操作)


3、查看是否安装成功:在dos窗口中输入命令ant,若出现结果
Buildfile:build.xml does not exist!
Build failed
说明ant安装成功!因为ant默认运行build.xml文件,这个文件需要我们建立。

(以上安装部分就结束了,下面继续介绍如何编译打包)

二、体验ant

就像每个语言都有HelloWorld一样,一个最简单的应用能让人感受一下Ant
1,首先你要知道你要干什么,我现在想做的事情是:
编写一些程序
编译它们
把它打包成jar包
把他们放在应该放置的地方
运行它们
这里为了简单起见只写一个程序,就是HelloWorld.java程序代码如下:

 1 package test.ant;
 2 
 3 public class HelloWorld {
 4 
 5     /**
 6      * @param args
 7      */
 8     public static void main(String[] args) {
 9         System.out.println("Hello ant !");
10     }
11 
12 }

2,为了达到上边的目的,你可以手动的用javac 、copy 、jar、java来完成,但是考虑一下如果你有成百上千个类,在多次调试,部署的时候,一次次的javac 、copy、jar、java那将是一份辛苦的工作。现在看看ant怎么优雅的完成它们。

要运行ant需要有一个build.xml虽然不一定要叫这个名字,但是建议你这么做
下边就是一个完整的build.xml,然后我们来详细的解释每一句

 1 <?xml version="1.0" encoding="UTF-8" ?>
 2 <project name="HelloWorld" default="run" basedir=".">
 3     <property name="src" value="src"/>
 4     <property name="dest" value="classes"/>
 5     <property name="hello_jar" value="hello1.jar"/>
 6     <target name="init">
 7         <mkdir dir="${dest}"/>
 8     </target>
 9     <target name="complie" depends="init">
10         <javac srcdir="${src}" destdir="${dest}"/>
11     </target>
12     <target name="build" depends="complie">
13         <jar jarfile="${hello_jar}" basedir="${dest}"/>
14     </target>
15     <target name="run" depends="build">
16         <java classname="test.ant.HelloWorld" classpath="${hello_jar}"/>
17     </target>
18     <target name="clean">
19         <delete dir="${dest}"/>
20         <delete file="${hello_jar}"/>
21     </target>
22     <target name="rerun" depends="clean,run">
23         <ant target="clean"/>
24         <ant target="run"/>
25     </target>
26 </project>

解释:

<?xml version="1.0" encoding="UTF-8" ?> 
build.xml中的第一句话,没有实际的意义

<project name="HelloWorld" default="run" basedir=".">
</project>
ant的所有内容必须包含在这个里边,name是你给它取的名字,basedir故名思意就是工作的根目录 .代表当前目录。default代表默认要做的事情。

<property name="src" value="src"/>
类似程序中的变量,为什么这么做想一下变量的作用

<target name="compile" depends="init">
  <javac srcdir="${src}" destdir="${dest}"/>
</target>
把你想做的每一件事情写成一个target ,它有一个名字,depends是它所依赖的target,在执行这个target 例如这里的compile之前ant会先检查init是否曾经被执行过,如果执行过则直接直接执行compile,如果没有则会先执行它依赖的target例如这里的init,然后在执行这个target

如我们的计划
编译:
<target name="compile" depends="init">
 <javac srcdir="${src}" destdir="${dest}"/>
</target>

做jar包:
<target name="build" depends="compile">
 <jar jarfile="${hello_jar}" basedir="${dest}"/>
</target>
运行:
<target name="run" depends="build">
 <java classname="test.ant.HelloWorld" classpath="${hello_jar}"/>
</target>
为了不用拷贝,我们可以在最开始定义好目标文件夹,这样ant直接把结果就放在目标文件夹中了
新建文件夹:
<target name="init">
 <mkdir dir="${dest}"/>
</target>
为了更多一点的功能体现,又加入了两个target
删除生成的文件
<target name="clean">
 <delete dir="${dest}" />
 <delete file="${hello_jar}" />
</target>
再次运行,这里显示了如何在一个target里边调用其他的target
<target name="rerun" depends="clean,run">
 <ant target="clean" />
 <ant target="run" />
</target>

3、将HelloWorld.java 和 build.xml文件拷贝至一个文件夹下,HelloWorld.java要位于src目录下(build.xml中定义了,所以才要这么做的)

4、采用DOS命令进入对应的文件夹,输入ant命令

OK,大功告成 ~  :)

apache Ant中文手册 2.0版 http://www.blogjava.net/Files/dreamstone/ant3.rar 

原文地址:https://www.cnblogs.com/yimu/p/2792562.html