Apache Ant 快速参考手册
2010年06月30日
本文将对Apache Ant中常用的标签(任务),参数配置进行介绍,以供快速参考使用。 Apache Ant的主页在这里:http://ant.apache.org/
一、Ant简介
Ant是一种基于Java的build工具,旨在改进make工具的缺点和局限性。一般来说,基于shell的makefile在使用中或许会带来一些问题,比如使用了特定平台的命令造成移植问题以及文本tab问题等。而且在用于编译Java代码时也相对比较繁琐(classpath配置等)。
与基于shell命令的扩展模式不同,Ant用Java的类来扩展。(用户)不必编写shell命令,配置文件是基于XML的,通过调用target树,就可执行各种task。每个task由实现了一个实现了特定Task接口的对象来运行。
ant默认加载的配置文件名为 build.xml,如果需要指定其他文件可以通过 -buildfile或-file和-f参数指定(ant -buildfile mybuild.xml)。后面可以再加上构建目标的名字(类似于make的用法)。
二、一个简单的build.xml
在下面的例子中,使用了javac(编译)和java(运行)task project标签指定了项目的名称,基本路径以及默认的build目标(default)。
最后,在与该xml相同的目录下使用ant命令,即可完成Java代码的编译和执行
三、Ant常用任务(task)
本节将对Ant常用task标签进行介绍。
1. 定义变量
对于在配置文件中需要多次使用的基本路径,可以在project下面定义一个property标签,它的使用方法就像使用变量一样。例如:
说明:name表示变量的名称,location表示变量的值。
使用该变量的方法如下:
2. 创建目录和删除目录
使用ant可以很方便的建立和删除目录,并可以一次建立和删除多级目录。如下面所示:
说明:dir表示要建立或者删除的目录名。也可以一次定义多级目录。例如:${webapps}/WEB-INF/classes
注意:删除目录的时候,其子目录和目录内的文件都将一并被删除。
3. 编译文件
使用javac标签可以进行java程序的编译工作。其基本例子如下:
说明:srcdir就是Source directory,也就是要编译的源文件的目录。Descdir就是编译好的文件的目标路径。除了这两个最基本的属性外还有debug,encoding等属性。
其中debug表明编译的时候是否需要把debug信息编译到class文件中(debug=true),如果不加这个参数,就相当于编译的命令行后面增加了-g:none参数。
Encoding表明以何种编码方式来编译你的源文件(encoding="utf-8"),和命令行的-encoding参数一样。
此外还有source和target属性,source用于指定解析代码时JDK的版本(默认为1.3,指定1.4+会激活断言);target用于指定生成的目标代码执行环境(target="1.5"为JDK1.5+环境)。
另外,javac标签还可以包含classpath子标签,表明你在编译的时候需要使用到的jar包或者其他class文件所在的路径。其使用方法如下:
在javac标签中直接使用classpath:
也可以事先单独定义,然后再使用:
标签也可以写作javac标签的属性:classpathref="classpath"
4. 打包操作
打包操作就是将编译好的class文件打包成一个jar文件。其基本用法如下:
说明:destfile属性表示打包后生成的目标文件的名称。basedir表示class文件所在的路径,该目录下的所有文件都将被打包到jar文件中。
对于复杂的情况可以采用以下的方法来解决:
其中,excludes属性用于指定要排除的文件
5. 复制文件操作
复制文件操作就是将一系列的文件从一个目录下拷贝到另一个目录下。其基本的用法如下:
说明:todir表示目标目录。overwrite表示是否覆盖。flattern表示是否丢弃源文件的目录结构(如果源文件夹中包含多级目录,这些目录也会被建立在目标文件夹中)。
提示:如果不包括include和exclude属性,那么会将源目录下的所有文件和文件夹拷贝到目标目录中。
以上是ant的基本用法,更多的task标签及属性说明,可以参见Ant的在线手册:http://ant.apache.org/manual/index.html
发表评论
-
linux常用命令
2012-01-20 02:30 839linux常用命令 2010年07月 ... -
Apache Maven 2 简介
2012-01-20 02:30 786Apache Maven 2 简介 2011年0 ... -
Linux基础
2012-01-20 02:30 915Linux基础 2011年05月09日 ... -
CE 6.0 R2的构建和部署
2012-01-20 02:30 706CE 6.0 R2的构建和部署 2010年11月17日 ... -
演讲稿
2012-01-19 10:18 647演讲稿 2011年06月11日 六月里阳光明媚,六月里花 ... -
来份申请加入学生会宣传部和文艺部的演讲稿
2012-01-19 10:18 1002来份申请加入学生会宣 ... -
我的演讲稿《感恩父母,感谢你们你们一路陪我走来》
2012-01-19 10:18 757我的演讲稿《感恩父母, ... -
演讲稿
2012-01-19 10:18 635演讲稿 2010年10月20日 努力、努力、再努力[/b ... -
小学生毕业演讲稿
2012-01-19 10:18 588小学生毕业演讲稿 2010 ... -
电脑里面英文系统的中文简介
2012-01-17 02:59 906电脑里面英文系统的中文简介 2010年06月22日 BO ... -
PHOTOSHOP初学者成长教材
2012-01-17 02:59 930PHOTOSHOP初学者成长教材 ... -
各大软件公司笔试题
2012-01-17 02:59 709各大软件公司笔试题 2011年10月23日 网易游戏20 ... -
电脑出现”该内存不能为read、written ”的完全解决方案
2012-01-17 02:59 607电脑出现”该内存不能为read、written ”的完全解决方 ... -
Silverlight 3 新特性
2012-01-16 01:29 547Silverlight 3 新特性 2009年10月14日 ... -
Ubuntu 下编译Android源码全过程
2012-01-16 01:29 503Ubuntu 下编译Android源码全过程 2010年02 ... -
mxmlc编译参数
2012-01-16 01:29 616mxmlc编译参数 2009年12月 ... -
Flex编译参数
2012-01-16 01:29 642Flex编译参数 2010年04月2 ... -
Flex学习笔记_04 MXML语言简介(转)
2012-01-16 01:28 542Flex学习笔记_04 MXML语言 ... -
postgresql 8.2,oracle 10g,sql server 2005,mysql 5.1 脚本规范-vivian's world-iteye技术网站
2012-01-11 00:39 565postgresql 8.2,oracle 10g,sql s ... -
2009.12.21――邓讲的关于SpringMVC
2012-01-11 00:39 5532009.12.21――邓讲的关于SpringMVC 201 ...
相关推荐
Apache_Ant_中文手册.doc apache ant 讲解。。。
APACHE 2.2 中文参考手册 APACHE 2.2 中文参考手册 APACHE 2.2 中文参考手册
Apache Ant操作手册,ant使用方法
apache ant安装包 apache ant安装包 apache ant安装包
apache ant使用例子, 一个可以运行的hello ant的myelipse工程实例。
Apache_Ant_中文手册Apache_Ant_中文手册Apache_Ant_中文手册Apache_Ant_中文手册
Apache ANT的使用手册,即Apache官方Ant的Manual做成了CHM格式的文档,以备速查
ApacheAnt中文手册.pdf
Apache_Shiro参考手册中文版 Introduction to Apache Shiro What is Apache Shiro? Apache Shiro 是一个强大而灵活的开源安全框架,它干净利落地处理身份认证,授权,企业会话管理和加密。 Apache Shiro 的首要目标...
apache-ant-1.6.5-bin 具体详细信息察看readme.txt
Ant 是一个 Apache 基金会下的跨平台的基于 Java 语言开发的构件工具。在我们详细了解 Apache Ant 之前, 让我们来讲解为什么构建工具是需要最先了解的。
apache ant 1.10.13 版本apache ant 1.10.13 版本apache ant 1.10.13 版本apache ant 1.10.13 版本apache ant 1.10.13 版本apache ant 1.10.13 版本apache ant 1.10.13 版本apache ant 1.10.13 版本apache ant ...
apache 参考手册 apache 参考手册 apache 参考手册
Imagine that you are working on a large project. The project is a Java project and consists of many .java files. It consists of classes that are dependent on other ...see http://jakarta.apache.org/ant/.
Apache HBase技术参考手册
apache ant 1.8.4 的帮助手册, 英文版
文档主要内容: Apache服务器安装配置 Apache服务器使用手册 Apache服务器模块介绍 Apache服务器开发者文档 Apache服务器在其他平台的使用 常见问题
Apache Ant 1.6.2.jar
apache ant 1.9.4 三个版本
apache-ant-1.9.16-bin.zip