`
hypgr
  • 浏览: 277009 次
社区版块
存档分类
最新评论

无所不能的“蚂蚁”--Ant(一)

阅读更多

说他无所不能,好像有点夸张,但是用过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!

分享到:
评论

相关推荐

    MatlabGUI使用java组件无所不能-uicomponent.m

    MatlabGUI使用java组件无所不能-uicomponent.m 是不是曾经想做出漂亮的GUI 界面? 是不是曾经想在 Matlab GUI里面显示网页? 看看这个界面: matlab_java.png 所以,...

    你的习惯对了 你无所不能-习惯的力量PPT模板.pptx

    标题中的“你的习惯对了,你无所不能-习惯的力量PPT模板”暗示了这个PPT内容将探讨习惯如何塑造个人能力和成功。描述中提到“每天有40%的行为并不是真正由决定促成的,而是出于习惯”,这引用了一个研究发现,强调了...

    万能编程器软件---无所不能

    总的来说,"万能编程器软件---无所不能"不仅是一个工具,更是一种解决方案,它简化了对各种类型芯片编程的过程,提高了开发效率。无论是用于学习、原型设计还是大规模生产,这样的软件都是电子工程师的得力助手。其...

    苹果JBL无所不能遥控器操作说明

    苹果JBL“无所不能”遥控器是一款专为苹果设备设计的多功能遥控器,具备六个主要按钮,能够实现对音频播放器、电视等多种设备的有效控制。该遥控器采用RF(射频)技术,能够在一定范围内自由操作,不受障碍物影响。 ...

    互联网 智慧能源-无所不能 完整

    智慧能源-无所不能 完整

    让迅雷无所不能下载.rar

    "让迅雷无所不能下载"这个标题暗示了一个可能的增强迅雷下载功能的补丁或者插件,使得用户能够下载更多类型或者原本限制下载的资源。 首先,迅雷的核心技术是P2SP(peer-to-server-peer),它结合了传统的P2P和P2S...

    让迅雷无所不能下载、通吃一切

    让迅雷无所不能下载、通吃一切 让迅雷无所不能下载、通吃一切

    电脑测试软件很好用无所不能

    标题中的“电脑测试软件很好用无所不能”表明我们讨论的是一款功能强大的计算机系统诊断和测试工具,它能够全面地分析和评估电脑硬件和软件的性能。这类软件通常包含多个模块,用于测试处理器、内存、硬盘、显卡等...

    让迅雷无所不能的工具 迅雷下载其他资源 电驴 快车

    5. **绿色补丁**:压缩包中的“让迅雷无所不能【绿色补丁】”可能是一个第三方修改版的迅雷,内置了对电驴和快车链接的支持。安装这类补丁前需谨慎,确保来源可靠,以免引入潜在风险。 需要注意的是,使用这些方法...

    真正的无所不能!

    标题中的“真正的无所不能!”可能是指这个压缩包包含了大量的IT学习资源,涵盖了多个领域的知识,而描述中的“我所下的所有书的整合!绝对经典!只要你能想到的这里面都有!”进一步证实了这一点,说明这个集合包含...

    能源互联网白皮书-to 无所不能.pptx

    能源互联网白皮书-to 无所不能.pptx

    重磅!谷歌发布5620亿参数多模态模型PaLM-E,机器人操控无所不能

    谷歌发布5620亿参数多模态模型PaLM-E,机器人操控无所不能" 这个标题揭示了谷歌在人工智能领域的一项重大突破,即他们推出了一个具有5620亿参数的多模态模型,命名为PaLM-E。这里的“重磅”暗示了该发布的重要性,...

    能源互联网白皮书-to 无所不能.zip

    "能源互联网白皮书-to 无所不能.zip" 文件包含了对这一主题的深入探讨,尤其通过其包含的 "能源互联网白皮书-to 无所不能.pptx" 讲义,我们可以从多个方面了解能源互联网的核心理念和应用实践。 1. **定义与概念**...

    VB无所不能系列(包含文档说明和代码示例)

    根据提供的文件信息,以下是关于VB无所不能系列的详细知识点。 ### 1. 指针 指针在VB中的使用与C语言等其他编程语言中的使用有所不同,因为VB是一种高级语言,它对内存访问进行了封装。在VB中,可以通过API调用和...

    互联网 智慧能源-无所不能 .pptx

    【智慧能源】是一种结合了互联网技术的新型能源管理体系,旨在通过智能化的方式优化能源生产、分配和消费,提高能源效率,减少环境污染,同时满足人们日益增长的多元化能源需求。这一概念的提出,源于对传统能源系统...

    VB无所不能,叫你加深了解

    网络精选教程,希望大家不要忘记VB,包括GDI绘画等详解的例子

    快乐网管之无所不能软件

    【快乐网管之无所不能软件】是一款针对初级用户的自动化工具,类似于知名的【按键精灵】,旨在简化用户在日常计算机操作中的复杂流程。该软件通过模拟鼠标点击和键盘输入,能够执行一系列预先设定好的任务,极大地...

    懂得父母并非无所不能是成人的标志之一

    文件中提到的个人成长标志之一是理解到父母并非无所不能。这涉及到一个人心理成熟的过程,即从小时候对父母的理想化期待,到逐渐认识到父母作为普通人也有局限性和缺陷。这个过程对于个体的心理适应至关重要,它标志...

Global site tag (gtag.js) - Google Analytics