说他无所不能,好像有点夸张,但是用过Ant之后,感觉真的是只有想不到没有作不到.Ant,原作者选择他作为软件名字的意思是指"令一个简洁的工具"(Another Neat Tool),而这个真正的名字现在去很少为人所知,但这丝毫不影响他成为最优秀的构建工具.
现在开始我将进入一个"蚂蚁"的世界,通过例子,真真正正去了解他!
文章参考资料可以到http://www.manning.com/antbook去下载
Ant的最好学习资料<<使用Ant进行Java开发>>
Ant的官方网站: http://ant.apache.org/
Ant的最新版本:Ant 1.6.5
本文所有的例子运行的环境:JDK1.4.2,Ant1.6.2,eclipse3.0
一.使用Ant运行Java程序
我们先从简单的Hello学起,目录结构如下
project--
|src--
| |--org.ant.chapter1.Hello
|bin
|build.xml
以后的例子大多采用此目录结构,特例会额外声明
build.xml文件
<?xml version="1.0"?>
<project name="project" default="run">
<target name="compile">
<javac destdir="bin" srcdir="src"></javac>
</target>
<target name="run" depends="compile">
<java classname="org.ant.chapter1.Hello">
</java>
</target>
</project>
|
从结构来看构建文件很简单,里面的内容大家也一定能够看得懂,可以看出Ant的核心任务就是target,一个Ant文件有多个target组成,而这些target之间,又有相互的依赖关系--depends,运行的时候默认运行project中指定的target.
javac--编译java文件 java--运行java文件
使用eclipse中集成的Ant运行build.xml文件(当然,也可以将ANT_HOME加到Path中,在命令行中运行)
Buildfile: D:\MyEclipse\workspace\sad\build.xml
compile:
run:
[java] Working directory ignored when same JVM is used.
[java] Could not find org.ant.chapter1.Hello. Make sure you have it in your classpath
[java] at org.apache.tools.ant.taskdefs.ExecuteJava.execute(ExecuteJava.java:166)
[java] at org.apache.tools.ant.taskdefs.Java.run(Java.java:705)
[java] at org.apache.tools.ant.taskdefs.Java.executeJava(Java.java:177)
[java] at org.apache.tools.ant.taskdefs.Java.execute(Java.java:83)
[java] at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:275)
[java] at org.apache.tools.ant.Task.perform(Task.java:364)
[java] at org.apache.tools.ant.Target.execute(Target.java:341)
[java] at org.apache.tools.ant.Target.performTasks(Target.java:369)
[java] at org.apache.tools.ant.Project.executeTarget(Project.java:1214)
[java] at org.eclipse.ant.internal.ui.antsupport.InternalAntRunner.run(InternalAntRunner.java:379)
[java] at org.eclipse.ant.internal.ui.antsupport.InternalAntRunner.main(InternalAntRunner.java:135)
BUILD SUCCESSFUL
Total time: 703 milliseconds
|
,java入门的经典错误,ClassNotDefException,可见是classpath设置问题,而观察得到compile成功运行,所以我们在run-target里面加入classpath的配置
<?xml version="1.0"?>
<project name="project" default="run">
<target name="compile">
<javac destdir="bin" srcdir="src"></javac>
</target>
<target name="run" depends="compile">
<java classname="org.ant.chapter1.Hello">
<classpath path="bin"></classpath>
</java>
</target>
</project>
|
运行
Buildfile: D:\MyEclipse\workspace\sad\build.xml
compile:
run:
[java] Hello World!
BUILD SUCCESSFUL
Total time: 672 milliseconds
|
成功!!第一个Ant应用完成,有人会说:用IDE运行岂不是更简单,但是你要知道运行java程序只是Ant的一个小小的功能,后面我们会看到Ant的更强大的功能!
下一篇文章将介绍java程序运行的扩展及用Ant运行tomcat!
分享到:
相关推荐
你的习惯对了 你无所不能-习惯的力量PPT模板.pptx
MatlabGUI使用java组件无所不能-uicomponent.m 是不是曾经想做出漂亮的GUI 界面? 是不是曾经想在 Matlab GUI里面显示网页? 看看这个界面: matlab_java.png 所以,...
智慧能源-无所不能 完整
苹果JBL大无所不能遥控器操作说明。解决好多人不会使用遥控操作的问题。
互联网 智慧能源-无所不能 .pptx
让迅雷无所不能下载、通吃一切 让迅雷无所不能下载、通吃一切
一款很好的电脑测试软件无所不能~~收了吧~不看会后悔
能源互联网白皮书-to 无所不能.zip
能源互联网白皮书-to 无所不能.pptx
让迅雷无所不能下载.rar 网上找到的评价还不错的一个补丁。。。共享一下。。。 (本人没用过)
万能编程器,各种EPROM、atmel、FLASH、pic等芯片,进行编程
迅雷5专用让迅雷无所不能下载,迅雷支持专用链接,里面有使用说明。
让迅雷无所不能的工具 迅雷下载其他资源 比如电驴 快车等等
VB无所不能系列收集于网络,全文共7部分,包含原码。 主要内容: 1、指针 2、图像格式转换 3、获取消息钩子 4、透明和半透明窗体 5、创建标准DLL 6、监控运行程序 7、多线程
懂得父母并非无所不能是成人的标志之一
网络精选教程,希望大家不要忘记VB,包括GDI绘画等详解的例子
重磅!谷歌发布5620亿参数多模态模型PaLM-E,机器人操控无所不能
重磅!谷歌发布5620亿参数多模态模型PaLM-E,机器人操控无所不能.pdf