- 1、本文档共59页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
本内容包含了Ant的历史简要介绍,Ant的功能以及Ant框架的介绍,并对下载安装使用Ant进行了示例介绍,同时通过一个Java程序讲解了Ant的基本使用方法。
1.?????? Ant简介:这里引用Ant帮助文档中对Ant的介绍:
???? Apache Ant是一个基于Java的构建工具。从理论上讲,也是一种类似于Make的工具,只是去除了Make工具的缺点。
??????????既然已经有了make, gnumake, nmake, jam以及其他的构件工具,为什么还要Ant呢?因为Ant的早期开发者发现所有以上这些工具都或多或少的有一些局限性,使得在跨平台开发软件成为困难。类似于Make的工具都是传统的基于Shell的--首先进行依赖性检查,然后执行命令。这意味着你可以轻易的通过使用或者编写程序来扩展这些工具,以满足不同的平台。当然,这也意味着你将局限于特定的平台,至少可以说局限于特定类型的平台,例如:Unix平台。??????????????????????????????????????????????????????????????????????????????????????
????同时,Make文件也有一些先天的缺陷。好多人都会遇到恐怖的tab问题。Ant的最初开发者多次说“我的命令不能执行因为我在tab前面加了一个空格!”。一些工具如Jam一定程序上解决了这个问题,但仍有其它的格式问题。
????Ant与从基于命令的那些扩展开来的那些工具不同,Ant是由java类扩展的。不用编写shell命令,而是配置基于XML的文件,形成多个任务的目标配置树。每一个任务都是通过一个实现了一个规定接口的java类来运行的。
????ant缺少了一些直接执行shell命令的能力,如find . -name foo -exec rm {},但它给用户提供了跨平台的能力,可以在任何地方工作。实际上,Ant也提供了命令execute用来执行shell命令,这就是它的任务,它允许执行基于操作系统的命令。
????简单的说,Ant是一个基于Java,并且主要用于Java工程的构建工具。Ant本意是Another Neat Tool,也就是另一种整洁的工具,取首字符就是Ant。
构建工具就是为了减少重复工作而产生的。
2.?????? Ant的一些核心概念:
XML:构建文件是以XML文件来描述的,采用XML格式有很多好处。这里就不一一列举。
陈述式语法:构建文件短小精悍,且易于理解。
每个构建文件包含一个工程(project)。
每个工程包含若干个目标(target)。
目标可以依赖于其他的目标(depends)。
目标包含任务(task)。
易于使用Java语言增加新的任务---易于扩展(自定义)。
3.?????? Ant结构:
Ant的结构如下图所示:
构建文件的概念视图:工程包含一个目标的集合。在每个目标里是任务的声明,它们是对Ant用于构建该目标的行为说明。目标生成一个依赖关系图表来声明该目标的依赖关系。当执行一个目标时,必须先执行它们依赖的目标。
?
例子:一个典型的构建文件:
?xml version=1.0 ?
project name=OurProject default=deploy
target name=init
mkdir dir=build/classes /
mkdir dir=dist /
/target
target name=compile depends=init
javac srcdir=src destdir=build/classes/
/target
target name=doc depends=init
javadoc destdir=build/classes sourcepath=src packagenames=org.* /
/target
target name=deploy depends=compile,doc
????jar destfile=dist/project.jar basedir=build/classes/ ???????? ftp server= userid= password=
?????fileset dir=dist/
/ftp
/target
/project
?
该构建过程如下:
系统初始化1、编译??2、生成JAVADOC???4、打包??5、上传到FTP,其中后两步结合到一起叫部署。
?
执行时输出如下:
ant -propertyfile perties
Buildfile: build.xml
init:
[mkdir] Created dir: /home/ant/Projects/OurPro
您可能关注的文档
- 《机械CADCAMa》教学大纲.doc
- 《计算机图形学》教学参考书目.doc
- 《离散数学课程实验》大纲.doc
- 《模流分析基础入门》1.doc
- 《软件工程》复习题1和答案.doc
- 《软件工程练习题及参考答案》.doc
- 《商务网站模拟与实现》模板(适用09级信管&电商).doc
- 《数据结构01》复习题_答案.doc
- 《数据结构02》复习题及答案.doc
- 《数据结构》(开放本科)课程教学一体化设计方案.doc
- 2025-2026学年高中英语选择性必修 第三册人教版(2019)教学设计合集.docx
- 2025年数据要素市场运行机制研究:数据安全与隐私保护策略.docx
- 2025年跨境电商物流成本降低策略研究:成本结构与市场优化.docx
- 环卫清扫保洁服务保洁文明服务方案.docx
- 房地产企业产品创新策略与2025年绿色家居客群市场定位研究报告.docx
- 正面管教家长工作坊课件.pptx
- 宠物保险产品创新设计:2025年行业应用与案例分析.docx
- 宠物保险产品创新设计研究:2025年市场细分与行业应用前景分析.docx
- 智慧养老2025:社区老年日间照料服务运营模式创新与市场趋势.docx
- 2025年数据中心绿色能源技术应用与发展报告.docx
文档评论(0)