Ant入门与进阶

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1第一讲Ant入门21Ant介绍1.1Ant的起源Ant的作者JamesDuncanDavidson给《Ant权威指南》一书做过评论,现在我们就引用这段评论来说明Ant的起源。1998年,有一位程序员改变了整个Java世界。JamesDuncanDavisdson在试图使用当时的构建工具(GNUMake、批处理文件和shell脚本)来创建一个跨平台的Tomcat构建时,做了多种努力均不能成功。因此,他在从欧洲飞回美国的途中设计出了自己的构建实用工具,并为命名为Ant,因这是一个小东西,但却能做大事。James为了解决自己的问题(即创建一个跨平台的构建)而提出的这种快速而简单的解决方案已经演变成Java环境中应用最为广泛的构建管理工具。如果你在用Java进行开发,而没有使用Ant,那么确定应该拥有这本不算厚的书。Ant是一个可靠的、跨平台的构建工具,它可以充分利用Java环境的优势。Ant本身也是用Java编写的,它可在多个平台(如Unix、Linux以及Windows等等)上工作,因此如果你要转换开发平台,那么学习Ant是值得的,Ant很容易扩展。在你的工程中,目前是否存在某个需求,而所有Ant功能对此都不能予以满足呢?没有问题!你完全可以像James一样,编写自己的Ant任务。没准儿你也能改变这个世界呢!以上是使用Ant可以完成的一些工作:·定义构造块、它们必须产生的结果以及它们之间的依赖关系;·自动地由诸如CVS等源代码控制系统获取源代码;·不仅可令Ant以适当的顺序编译必要的源文件,而且还可生成部署都所必需的JAR文件,由此完成应用的构造;·仅需由一个构造文化(或一组构建文件)即可完成以上所有工作,而构建文件在Ant支持的所有平台上都会有同样的表现。要进行eXtreme(极限)编程吗?Ant就是一个必备工具,利用它可以方便地完成频繁的构建,以此又将有利于使用JUnit和相关技术进行测试驱动的开发。Ant构建文件是XML编写的,这是一种良构标准,因此可以确保使用Ant并不需要学习另一种脚本语言。Ant是一个开源工程,这是Apache软件基金会所投资的Jakarta工程的一部分。“Jesse和Eric可以教你如何使用当前的Ant,他们做得相当棒。这本书提供了颇有深度的信息,对于一些以往从未考虑到的工作,书中还介绍了如何扩展Ant来完成这些工作的详细内容。不论你是偶尔使用Ant,还是需要管理各种大型工程,这都是一本需要持之在手的工具书。”—JamesDuncanDavidson,Ant的创造者1.2什么是AntApacheAnt是一个将软件编译、测试、部署等步骤联系在一起加以优化的一个构建工具,常用于Java环境中的软件开发。Ant的默认配置文件是build.xml。1.3什么是构建形象的说,构建就是把代码从某个地方拿来、编译、再拷贝到某个地方去等操作,当然不仅于此,但是主要用来干这个。31.4Ant的优势(1)跨平台:因为ant是使用java实现的,所以跨平台;(2)使用简单:比其他构建工具简单,特别是和ant的兄弟make做比较;(3)语法清晰:同样是和make做比较;(4)功能强大:Ant能做的事情很多,可能你用了很久,你仍然不知道它能有多少功能。当你需要自己开发一些ant插件的时候,你会发现它更多的功能。Ant于Make的区别:make是一个类似于Ant的构建工具,不过make应用于C/C++,Ant则主要应用于java。当然这不是一定的,当大部分人如此。42Ant环境配置2.1下载首先到下载Ant,目前的最新版本是1.8.1我们可以下载最新的版本,也可以点“here”去下载历史版本。我们以最新的版本apache-ant-1.8.1来做演示。2.2配置环境变量第一步:解压。我们以C:\java\apache-ant-1.8.1为例;把上面下载的apache-ant-1.8.1-bin.zip解压到C:\java\apache-ant-1.8.1;新增系统变量:ANT_HOME,内容:C:\java\apache-ant-1.8.1;第二步:增加环境变量。在PATH环境变量中加入Ant的bin目录:%ANT_HOME%\bin;如果要让Ant能支持JUnit,需要直接将JUnit的junit.jar放置在Ant的lib目录,并记得修改变量CLASSPATH中原先有关于JUnit的设定,例如:%ANT_HOME\lib\junit.jar,虽然也有其它的方式可以设定,但这是最快最简单的方法。以下是windows中的设置,请看图:5依赖库说明(简单看下)如果你需要执行特定的task,你需要将对应的库放入CLASSPATH或放到Ant安装目录的lib目录下。JarNameNeededForAvailableAtjakarta-regexp-1.2.jarregexptypewithmappersjakarta.apache.org/regexp/jakarta-oro-2.0.1.jarregexptypewithmappersandtheperforcetasksjakarta.apache.org/oro/junit.jarjunittasks运行Ant运行Ant非常简单,正确安装后,只要在命令行下输入ant就可以了。开始--运行--cmd,进入命令行--键入ant回车,如果看到看到如下信息:Buildfile:build.xmldoesnotexist!Buildfailed说明配置成功。没有指定任何参数时,Ant会在当前目录下查询build.xml文件。如果找到了就用该文件作为buildfile。如果你用-find选项。Ant就会在上级目录中寻找buildfile,直至到达文件系统的根。要想让Ant使用其6他的buildfile,可以用参数-buildfilefile,这里file指定了你想使用的buildfile。我们也可以设定一些属性,以覆盖buildfile中指定的属性值。可以用-Dproperty=value选项,这里property是指属性的名称,而value则是指属性的值。我们也可以用这种办法来指定一些环境变量的值,再使用propertytask来存取环境变量。如-Daaa=aaa传递给Ant,我们就可以在我们的buildfile中用${aaa}来存取这些环境变量。还有两个选项-quite,告诉Ant运行时只输出少量的必要信息。而-verbose,告诉Ant运行时要输出更多的信息。可以指定执行一个或多个target。当省略target时,Ant使用标签project的default属性所指定的target。如果有的话,-projecthelp选项输出项目的描述信息和项目target的列表。先列出那些有描述的,然后是没有描述的target。命令行选项总结:ant[options][target[target2[target3]...]]Options:-helpprintthismessage-projecthelpprintprojecthelpinformation-versionprinttheversioninformationandexit-quietbeextraquiet-verbosebeextraverbose-debugprintdebugginginformation-emacsproducelogginginformationwithoutadornments-logfilefileusegivenfileforlogoutput-loggerclassnametheclassthatistoperformlogging-listenerclassnameaddaninstanceofclassasaprojectlistener-buildfilefileusespecifiedbuildfile-findfilesearchforbuildfiletowardstherootofthefilesystemandusethefirstonefound-Dproperty=valuesetpropertytovalue例子:ant使用当前目录下的build.xml运行Ant,执行缺省的target。ant-buildfiletest.xml使用当前目录下的test.xml运行Ant,执行缺省的target。ant-buildfiletest.xmldist使用当前目录下的test.xml运行Ant,执行一个叫做dist的target。ant-buildfiletest.xml-Dbuild=build/classesdist使用当前目录下的test.xml运行Ant,执行一个叫做dist的target,并设定build属性的值为build/classes。783Ant核心概念简介XML:构建文件是以XML文件来描述的。project:每个构建文件包含一个工程。depends:每个工程包含若干个目标(target)。目标可以依赖于其他的目标。task:目标包含一个或多个任务(task)。易于扩展:易于使用Java语言增加新的任务:(自定义)。语法简单:构建文件短小精悍,语法直观且易于理解。94Ant初体验就像每个语言都有HelloWorld一样,一个最简单的应用能让人感受一下Ant。接下来我们将假想一个需求,再针对这个需求,写一个Ant脚本完成该需求。4.1假想一个需求(1)编写一个程序(2)编译它们(3)把这个程序打成jar包(4)把他们放在应该放置的地方(5)运行它们首先看下目录结构。目录结构图示目录结构文字说明在建立build.xml文件之前,我们先说下目录结构:工程主目录:C:\course\ant\demo源程序目录:\src编译后的class文件目录:\classes打包好的jar程序目录:\hello.jar工程配置文件:\build.xml4.2写第一个Ant配置文件上面定义了需求,这一节主要是建立一个build.xml文件完成上面的步骤。首先,我们使用文本编辑器写第一个程序:HelloWorld.javapackagetest.ant;publicclassHelloWorld{10publicstaticvoidmain(String[]args)System.out.println(“helloworld”);}}再建立一个build.xml文件完成上面的步骤,内容如下:?xmlversion=1.0encoding=UTF-8?projectname=HelloWorlddefault=runbasedir=.propertyname=srcvalue=src/propertyname=destvalue=classes/propertyname=hello_jarvalue=hello.jar/targetname=i

1 / 48
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功