Ant 是一个构建工具,它可以帮助我们将项目开发过程中需要完成的各种步骤组织起来,通过一个简易的方式来构建整个项目。 Ant 究竟能做什么呢?这取决于 Ant 的任务( Task ), Ant 有哪些任务,就能完成哪些工作!一些典型的任务是:编译 java 源代码、运行 java 程序、拷贝文件或目录、将编译完成的类打包等等 。
当然, Ant 是一个开放的架构,任何人,都可以按照自己的方式,添加自己的任务( Task ),这需要遵守 Ant 的一些规范。
1、 确保你的机器已经安装了 JDK ,确保你的 path 环境变量中包含有 java 虚拟机的运行程序,确保你的环境变量中有 JAVA_HOME 变量
2、 下载 ant 并解压
3、 设置 ANT_HOME 环境变量,指向 ant 解压根目录
4、 在 path 环境变量中,添加 ANT_HOME/bin 目录
5、 打开控制台,运行: ant
6、 如果能够运行 ant (忽略这些异常: Buildfile: build.xml does not exist! ),而不是出现诸如命令无法解释的错误,那么你的 ant 就安装成功了
Ant 的运行,靠的是一个构建脚本,默认的名称叫 build.xml ,如果你在任何目录下运行 ant 命令, Ant 将自动查找当前目录下有没有 build.xml 文件,如果有这个文件,就读取这个文件,并运行其中的默认 target 。
解释一下以上话的意思:
Ant 根据构建脚本的描述来执行任务!构建脚本是一个 xml 格式的文件。最简单的构建脚本是:
如果把以上内容放到一个 build.xml 文件中,然后运行 ant 命令, Ant 将执行拷贝文件的任务!
从这个最简单的构建脚本中,我们可以知道脚本的基本编写方法:
1、 脚本的根元素是:
2、 所有的任务,必须通过一个
3、
4、
默认命名是 build.xml ,如果你的构建脚本的名称是 build.xml ,那么你可以直接运行 ant 命令,如果是其它的名称,如: mybuild.xml ,那么,你的命令行应该改为: ant –f mybuild.xml 。
运行: ant copyfile ,将运行的是被命名为 copyfile 的 target 。
再看下面的 ant 构建脚本:
有没有注意到这个文件,跟第一个文件的变化?没错,
你可以查看 ANT_HOME/docs/manual/dirtasks.html#patterns 下的文档描述!里面有最详细的说明。
简单归纳一下:
* 符号,代表 0 个或若干个字符。 ? 符号,代表一个字符。
** 代表一颗目录树。
Ant 有很多内置的(即你安装完 ant 之后就可以直接使用的任务)任务,但是也可以添加自己定义的任务。如果你编写了自己的任务,或者你要引入一些不是 ant 自带的任务时,我们需要使用
比如:
name= "xdoclet"
classname= "org.xdoclet.ant.XDocletTask"
classpathref= "xdoclet.task.classpath"
/>
在这段文本 里,包含了很多内容:
1 、
2 、这些标签总体上来说都是轻易便能够看懂的。无需过多的解释。那个
定义完任务之后,就可以来使用它了,如:
classname= "org.xdoclet.plugin.hibernate.HibernateConfigPlugin"
destdir= "${src.dir}"
version= "3.0"
hbm2ddlauto= "update"
jdbcurl= "jdbc:mysql://127.0.0.1/oa_200706"
jdbcdriver= "com.mysql.jdbc.Driver"
jdbcusername= "root"
jdbcpassword= "mysql"
dialect= "org.hibernate.dialect.MySQLDialect"
showsql= "true"
/>
具体如何使用,请参考关于这个 task 的相关说明文档。