Ant是什么?
Ant是一个构建工具,它可以帮助我们将项目开发过程中需要完成的各种步骤组织起来,通过一个简易的方式来构建整个项目。Ant究竟能做什么呢?这取决于Ant的任务(Task),Ant有哪些任务,就能完成哪些工作!一些典型的任务是:编译java源代码、运行java程序、拷贝文件或目录、将编译完成的类打包等等。
当然,Ant是一个开放的架构,任何人,都可以按照自己的方式,添加自己的任务(Task),这需要遵守Ant的一些规范。
如何开始使用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 的基本概念
Ant的运行,靠的是一个构建脚本,默认的名称叫build.xml,如果你在任何目录下运行ant命令,Ant将自动查找当前目录下有没有build.xml文件,如果有这个文件,就读取这个文件,并运行其中的默认target。
解释一下以上话的意思:
构建脚本
Ant根据构建脚本的描述来执行任务!构建脚本是一个xml格式的文件。最简单的构建脚本是:
<?xml version="1.0" encoding="GBK"?>
<project name="测试脚本" default="copyfile" basedir=".">
<target name="copyfile">
<copy file=”d:/a.txt” todir=”c:/temp” overwrite=”true”/>
</target>
</project>
如果把以上内容放到一个build.xml文件中,然后运行ant命令,Ant将执行拷贝文件的任务!
从这个最简单的构建脚本中,我们可以知道脚本的基本编写方法:
1、 脚本的根元素是:<project>
2、 所有的任务,必须通过一个<target>标签包围,一个<target>标签,可以包含多个任务。
3、 <copy>标签描述了一个任务,这些任务必须放到一个<target>标签的内部,Ant都可以使用哪些任务呢?请参考Ant的相关文档
4、 <project>中可以包含多个<target>,如果不指定运行哪个任务(即直接运行ant命令),那么,将使用<project>标签中指定的default属性的target。
构建脚本的命名
默认命名是build.xml,如果你的构建脚本的名称是build.xml,那么你可以直接运行ant命令,如果是其它的名称,如:mybuild.xml,那么,你的命令行应该改为:ant –f mybuild.xml。
运行特定任务?
运行:ant copyfile,将运行的是被命名为copyfile的target。
Ant的路径模式?
再看下面的ant构建脚本:
<?xml version="1.0" encoding="GBK"?>
<project name="测试脚本" default="copyfile" basedir=".">
<target name="copyfile">
<copy todir=”c:/temp” overwrite=”true”>
<fileset dir=”d:”>
<include name=”*.txt”/>
</fileset>
<copy>
</target>
</project>
有没有注意到这个文件,跟第一个文件的变化?没错,<copy>任务的file属性变了,现在是*.txt,可能你已经意识到,这个的意思是拷贝d:盘下所有的以txt为扩展名的文件到c:/temp目录中。完全正确!但是,究竟包不包含子目录下的txt文件呢?这就需要我们了解ant中的路径模式。Ant中的路径模式非常重要,很多地方都会用到,所以,我们首先来学习的就是ant的路径模式!
你可以查看ANT_HOME/docs/manual/dirtasks.html#patterns下的文档描述!里面有最详细的说明。
简单归纳一下:
*符号,代表0个或若干个字符。?符号,代表一个字符。
**代表一颗目录树。
Ant任务
Ant 有很多内置的(即你安装完ant之后就可以直接使用的任务)任务,但是也可以添加自己定义的任务。如果你编写了自己的任务,或者你要引入一些不是ant自带的任务时,我们需要使用<taskdef>标签来定义:
比如:
<path id="xdoclet.task.classpath">
<fileset dir="${xdoclet.home}/lib">
<include name="**/*.jar"/>
</fileset>
<fileset dir="${xdoclet.home}/plugins">
<include name="**/*.jar"/>
</fileset>
</path>
<taskdef
name="xdoclet"
classname="org.xdoclet.ant.XDocletTask"
classpathref="xdoclet.task.classpath"
/>
在这段文本里,包含了很多内容:
1、<path>元素,是用来定义一个路径的,通常是定义classpath,因为classpath可以包括众多的jar包,也可以包括众多的目录,所以可以使用<fileset>标签或<pathelement>等标签来定义这些路径。
2、这些标签总体上来说都是轻易便能够看懂的。无需过多的解释。那个<include>标签中的name属性,正是一个路径模式,表示包括本目录(即dir 属性定义的目录。)下的所有子目录中的jar文件。
定义完任务之后,就可以来使用它了,如:
<target name="生成Hibernate配置文件">
<xdoclet>
<fileset dir="${src.dir}/com/bjsxt/oa/model">
<include name="**/*.java"/>
</fileset>
分享到:
相关推荐
ant基础 1,什么是ant ant是构建工具 2,什么是构建 概念到处可查到,形象来说,你要把代码从某个地方拿来,编译,再拷贝到某个地方去等等操作,当然不仅与此,但是主要用来干这个 3,ant的好处 跨平台 --因为ant是使用...
ANT基础教程集合(Ant_的最完整build.xml解释,Ant入门与进阶,ant实用实例,ant使用手册)
ant简介,包含ant的安装下载,简单的例子,以及ant标签的介绍和实例
Ant是什么、Ant入门、Ant入门书籍、Ant入门手册、Ant资料、Ant文档、Ant使用指南 ...Ant基础 运行Ant 生成一个简单的JAVA项目 文件系统操作 其它有用的任务和技术 使用自定义任务来扩展Ant 结束语和参考资料
ant基础教程,下载看看吧,很不错的一个教程
ant的简单入门教程 1、ant介绍;2、ant安装;3、第一个ant脚本;4、整合ant;5、ant进阶;6、常用task;7、控制流程;8、实例分析;9、如何继续学习;10、ant使用cvs实例;11、Q&A
或者,也许您熟悉Ant 的基础,但是还想知道诸如将生成文件链接起来、使用 CVS 知识库或编写自定义任务等高级主题;本教程将会介绍所有这些主题。 Ant 主要是设计用于生成 Java 项目的,但这并不是它唯一的用途。许多...
基于Ant的Android SDK 1.5 开发环境搭建
好东西不想一个人用,分享一下. <br> 本...或者,也许您熟悉 Ant 的基础,但是还想知 道诸如将生成文件链接起来、使用 CVS 知识库或编写自定义任务等高级主题;本教程将会介绍所有 这些主题。
Ant基础教程,包括Ant的基本配置、使用
ant入门-ant入门最基础的教程,入门者不容错过哦!
中文名: 模拟和数字电子电路基础 原名: Foundations of Analog and Digital Electronic Circuits 作者: Anant Agarwal Jeffrey H.Lang 资源格式: PDF 版本: 文字版 出版社: Morgan Kaufmann 书号: 1558607358 发行...
vue antdesign 即时通讯基础样式
ant基础教程,主要给初学者提供,Ant是什么?
学习ant的总结 Ant 组建,集成构件工具,相当于windows下的bat 批处理文件
关于Ant的一些基本概念和基本用法,因为当时要做一个Knowledge Transfer的东西,所以参考别人的资料做的PPT,英文版的。。。希望有所帮助
本书中始终使用抽象的概念,以统一在模拟和数字设计中所进行的工程简化。本书更为强调数字领域。第1章 电路抽象 第2章 电阻网络 第3章 网络定理 第4章 非线性电路分析 第5章 数字抽象 第6章 MOSFET开关 第7章 MOSFET...
主要介绍了Java自动化工具Ant的基础使用教程,例子在Windows系统下操作演示,讲解了Ant基本的文件操作和属性,需要的朋友可以参考下
最近再次用到ant,在第一版的基础上加了更多的介绍,重新排了版,看起来应该效果更好些。 不过临时做的,如果有什么错误请纠正,mail给我,或者到我blog留言都可以。