[转载] 无所不能的“蚂蚁”--Ant
2006-06-05 23:27
351 查看
说他无所不能,好像有点夸张,但是用过Ant之后,感觉真的是只有想不到没有作不到.Ant,原作者选择他作为软件名字的意思是指"令一个简洁的工具"(AnotherNeatTool),而这个真正的名字现在去很少为人所知
,但这丝毫不影响他成为最优秀的构建工具.
现在开始我将进入一个"蚂蚁"的世界,通过例子,真真正正去了解他!
文章参考资料可以到http://www.manning.com/antbook去下载
Ant的最好学习资料<<使用Ant进行Java开发>>
Ant的官方网站:http://ant.apache.org/
Ant的最新版本:Ant1.6.5
本文所有的例子运行的环境:JDK1.4.2,Ant1.6.2,eclipse3.0
一.使用Ant运行Java程序
我们先从简单的Hello学起,目录结构如下
project--
|src--
| |--org.ant.chapter1.Hello
|bin
|build.xml
以后的例子大多采用此目录结构,特例会额外声明
build.xml文件
从结构来看构建文件很简单,里面的内容大家也一定能够看得懂,可以看出Ant的核心任务就是target,一个Ant文件有多个target组成,而这些target之间,又有相互的依赖关系--depends,运行的时候默认运行project中指定的target.
javac--编译java文件 java--运行java文件
使用eclipse中集成的Ant运行build.xml文件(当然,也可以将ANT_HOME加到Path中,在命令行中运行)
,java入门的经典错误,ClassNotDefException,可见是classpath设置问题,而观察得到compile成功运行,所以我们在run-target里面加入classpath的配置
运行
成功!!第一个Ant应用完成,有人会说:用IDE运行岂不是更简单,但是你要知道运行java程序只是Ant的一个小小的功能,后面我们会看到Ant的更强大的功能!
下一篇文章将介绍java程序运行的扩展及用Ant运行tomcat!
java程序运行的扩展
1.带有参数的应用程序运行
Ant在<java>任务中提供了<arg>元素,<arg>有四种属性value,file,line,path
build.xml
2.控制新的JVM
一般的<java>任务都运行在当前的JVM中,单一些特定的情况下将Ant运行在新的JVM下面,这时只需要将<java>中的一个属性fork设置为true就可以了.
我们知道,java命令提供了许多的运行参数,用于指定JVM的属性,同样在Ant也提供相应的属性,看例子:
3.运行jar文件,使用failonerror处理错误
<java>同样提供了运行jar文件的属性
MANIFEST.MF
build.xml
在某些情况下,我们不希望由于一些不重要的任务构建失败,而导致整个构建的失败,所以Ant提供了一个共同的属性-failonerror,多数任务的默认值为failonerror="true",既当此任务构建失败时,失败信息会传递给控制台,并导致buildfailed,failonerror只支持在新的JVM里运行.
可以看出虽然run构建失败,但是Ant还是执行了,原来的jar文件,并且BUILDSUCCESSFUL!!
使用Ant运行tomcat
Ant使用<exec>任务运行本地程序,先看一个例子:
a.bat
运行完后,会在根目录生成a.txt文件,里面内容为Hello
下面我们来运行tomcat
努力...
,但这丝毫不影响他成为最优秀的构建工具.
现在开始我将进入一个"蚂蚁"的世界,通过例子,真真正正去了解他!
文章参考资料可以到
Ant的最好学习资料<<使用Ant进行Java开发>>
Ant的官方网站:
Ant的最新版本:Ant1.6.5
本文所有的例子运行的环境:JDK1.4.2,Ant1.6.2,eclipse3.0
一.使用Ant运行Java程序
我们先从简单的Hello学起,目录结构如下
project--
|src--
| |--org.ant.chapter1.Hello
|bin
|build.xml
以后的例子大多采用此目录结构,特例会额外声明
build.xml文件
<?xmlversion="1.0"?> <projectname="project"default="run"> <targetname="compile"> <javacdestdir="bin"srcdir="src"></javac> </target> <targetname="run"depends="compile"> <javaclassname="org.ant.chapter1.Hello"> </java> </target> </project> |
javac--编译java文件 java--运行java文件
使用eclipse中集成的Ant运行build.xml文件(当然,也可以将ANT_HOME加到Path中,在命令行中运行)
Buildfile:D:/MyEclipse/workspace/sad/build.xml compile: run: [java]WorkingdirectoryignoredwhensameJVMisused. [java]Couldnotfindorg.ant.chapter1.Hello.Makesureyouhaveitinyourclasspath [java] atorg.apache.tools.ant.taskdefs.ExecuteJava.execute(ExecuteJava.java:166) [java] atorg.apache.tools.ant.taskdefs.Java.run(Java.java:705) [java] atorg.apache.tools.ant.taskdefs.Java.executeJava(Java.java:177) [java] atorg.apache.tools.ant.taskdefs.Java.execute(Java.java:83) [java] atorg.apache.tools.ant.UnknownElement.execute(UnknownElement.java:275) [java] atorg.apache.tools.ant.Task.perform(Task.java:364) [java] atorg.apache.tools.ant.Target.execute(Target.java:341) [java] atorg.apache.tools.ant.Target.performTasks(Target.java:369) [java] atorg.apache.tools.ant.Project.executeTarget(Project.java:1214) [java] atorg.eclipse.ant.internal.ui.antsupport.InternalAntRunner.run(InternalAntRunner.java:379) [java] atorg.eclipse.ant.internal.ui.antsupport.InternalAntRunner.main(InternalAntRunner.java:135) BUILDSUCCESSFUL Totaltime:703milliseconds |
,java入门的经典错误,ClassNotDefException,可见是classpath设置问题,而观察得到compile成功运行,所以我们在run-target里面加入classpath的配置
<?xmlversion="1.0"?> <projectname="project"default="run"> <targetname="compile"> <javacdestdir="bin"srcdir="src"></javac> </target> <targetname="run"depends="compile"> <javaclassname="org.ant.chapter1.Hello"> <classpathpath="bin"></classpath> </java> </target> </project> |
Buildfile:D:/MyEclipse/workspace/sad/build.xml |
成功!!第一个Ant应用完成,有人会说:用IDE运行岂不是更简单,但是你要知道运行java程序只是Ant的一个小小的功能,后面我们会看到Ant的更强大的功能!
下一篇文章将介绍java程序运行的扩展及用Ant运行tomcat!
java程序运行的扩展
1.带有参数的应用程序运行
Ant在<java>任务中提供了<arg>元素,<arg>有四种属性value,file,line,path
publicclassHello{ publicstaticvoidmain(String[]args){ |
build.xml
<?xmlversion="1.0"?> |
Buildfile:D:/MyEclipse/workspace/sad/build.xml |
2.控制新的JVM
一般的<java>任务都运行在当前的JVM中,单一些特定的情况下将Ant运行在新的JVM下面,这时只需要将<java>中的一个属性fork设置为true就可以了.
我们知道,java命令提供了许多的运行参数,用于指定JVM的属性,同样在Ant也提供相应的属性,看例子:
<?xmlversion="1.0"?> |
3.运行jar文件,使用failonerror处理错误
<java>同样提供了运行jar文件的属性
MANIFEST.MF
Mainfest-Version:1.0 |
<?xmlversion="1.0"?> |
Buildfile:D:/MyEclipse/workspace/sad/build.xml |
<targetname="run"depends="jar"> |
Buildfile:D:/MyEclipse/workspace/sad/build.xml |
使用Ant运行tomcat
Ant使用<exec>任务运行本地程序,先看一个例子:
<?xmlversion="1.0"?> |
@echooff |
下面我们来运行tomcat
<?xmlversion="1.0"?> <targetname="tomcat-stop"> |
相关文章推荐
- [转载] 无所不能的“蚂蚁”--Ant
- Ant and Flex 用Ant编译MXML文件 - 蚂蚁咬断松紧带(^_^)
- 转载Linux系统下常见性能分析工具的使用(南非蚂蚁出品~~)
- 【转载】Ant基本使用指南
- ANT简明教程[转载]
- Ant学习理解(稍后会转载到新浪博客)
- 关于ant,不得不说的蚂蚁(一)
- [转载]Ant-build.xml详解
- ANT简明教程[转载]
- 使用Ant进行项目构建之一:环境搭建 (转载)
- Ant的入门级教程(1)?ANT 蚂蚁是什么?带有简单使用。
- ANT简明教程[转载]
- Ant指令的意思【转载】
- Ant(蚂蚁搬家)工具
- Ant指南[转载]
- 蚂蚁怒了(Ant in Anger)(节选)(一)
- 使用Ant编译Java工程(转载)
- 转载关于使用Ant打包Flex的一些脚本
- Ant风格转载查看
- 转载:用Ant操作XML文件