`
kyonee
  • 浏览: 48700 次
  • 来自: ...
最近访客 更多访客>>
社区版块
存档分类
最新评论

一篇关于Ant文章,不错[转载]

阅读更多

[作者Blog:http://blog.csdn.net/goodpp/]

1.Ant是什么

Apache Ant 是一个基于java的build工具,在理论上,它有点像make,但是没有make的缺陷。

为什么已经有了make,gnumake,make,jam等build工具,还要一种新的build工具呢?因为Ant的原作者无法忍受这些工具在跨平台开发时所带来的限制和不便。类似make的工具本质上都是基于shell的:它们计算依赖关系,然后执行命令。这些命令和你在命令行下执行的命令没有太大的区别。这意味着你能很容易的使用你的操作系统编写程序来扩展该工具;这也意味着你将自己限制在特定的操作系统上,至少是操作系统的类型上,例如Unix。

Makefiles也是很可恶的。任何使用过他们的人都碰到过可恶的tab问题。“我的命令不能执行是否只是因为我的tab前面有一个空格?”Ant的作者说过这句话很多次了。有的工具比如Jam能很好的处理这类问题,但是用户必须使用和记住另外一种新的格式。

Ant就不同了。与基于shell命令的扩展模式不同,Ant用Java的类来扩展。(用户)不必编写shell命令,配置文件是基于XML的,通过调用target树,可以执行各种task。每个task由一个实现特定task interface(接口)的object(对象)来运行。(如果你对Ant一点概念都没有的话,可能看不懂这一节,没有关系,后面会对target,task做详细的介绍。你如果没有太多的时间甚至可以略过这一节,然后再回来浏览一下这里的介绍,那时你就会看懂了。同样,如果你对make之类的工具不熟悉也没关系,下面的介绍根本不会用到make中的概念。)

必须承认,这样做,在构造shell命令时会失去一些特有的表达能力。如`find . -name foo -exec rm {}`,但却给了你跨平台的能力-你可以在任何地方工作。如果你真的需要执行一些shell命令,Ant有一个<exec> task,这个task允许执行特定OS上的命令。

2.安装Ant

2.1获得Ant

二进制版本(Binary Edition)

在Ant的web网页http://ant.apache.org/可以得到Ant最新的稳定的版本的信息。如果你疯狂的技术追求者(living on the edge?),你可以从http://cvs.apache.org/builds/ant/nightly/处下载到最新的版本

源码版本(Source Edition)

如果你更喜欢源码版本,你可以从 http://ant.apache.org/srcdownload.cgi处下载到最新版本的源码。同样的如果你疯狂的技术追求者,你可以通过CVS获得这些正在开发中的代码。在Jakarta网站上有有关访问CVS的详细资料。请checkout(检验)ant模块。阅读Build Ant部分关于如何使用源码构建ant,你也可以在线访问Ant CVS repository。

2.2系统需求

Ant可以使用在多种平台上,包括Linux, 商业Unix(如Solaris和HP-UX),Windows 9X 和 NT, OS/2 Warp, Novell Netware 6 以及 MacOS X。

为了构建和使用Ant,你必须有一个JAXP兼容的XML解析器在你的classpath路径中。

binary 形式的Ant包括最新版的Apache Xerces2 XML解析器。请查阅http://java.sun.com/xml/获得关于JAXP的更加详细的信息。如果你希望使用一个不同的JAXP兼容的XML解析器,你需要把xercesImpl.jar和xml-apis.jar从Ant的lib目录中删除。然后你即可以把你想要用的JAXP兼容的XML解析器放到Ant的lib目录中,也可以把jar路径加入系统的classpath变量中。

对于当前版本的Ant,你需要安装1.2或者更高版本的JDK。

注意:Microsoft(微软) JVM/JDK是不支持的。

注意2:如果只有JRE运行环境而没有JDK,会导致许多task不能执行。

2.3安装Ant

binary 形式的Ant的目录结构组成如下:
  ant
   +--- bin  // 包含了运行脚本
   |
   +--- lib  // 包含了Ant必需的jar文件
   |
   +--- docs // 包含了文档
   |      +--- ant2    // ant2需求的简述
   |      |
   |      +--- images  // html文档用到的logos
   |      |
   |      +--- manual  // Ant文档
   |
   +--- etc // 包含了xsl文件:

只有bin目录和lib目录是运行ant所必需的。选择一个目录然后把ant复制到该目录下,即可完成ant的安装,这个目录将由ANT_HOME识别。

Windows 95, Windows 98 & Windows ME 注意:
    在这些系统下,如果ANT_HOME有一个很长的文件名(比如 文件名不是被识别的格式"8.3"??),运行ant的脚本可能回产生问题。这是由该操作系统处理“for”批处理文件命令的限制造成的。推荐使用短的文件名,比如c:Ant。
    在这些系统下,你也需要配置更多的环境空间来迎合ant运行脚本的环境变量的使用。为了达到这个目的,你必须在config.sys中增加或修正下面这行:
shell=c:command.com c: /p /e:32768

设置

在你能运行ant之前,还有一些额外的必需的设置

·在path变量中增加bin目录的路径。
·设置ANT_HOME环境变量,值为ant的安装路径。在一些操作系统上,ant封装脚本能推测ANT_HOME(Unix   dialects and Windows NT/2000)。但是最好不要依赖这些特性。
·可选择的,设置JAVA_HOME环境变量(查看后面的Advanced部分)。这必须指向JDK的安装目录。

注意:不要把Ant的ant.jar文件放到JDK/JRE的lib/ext目录下。Ant是一个应用程序,而lib/ext目录是为JDK扩展使用的(如JCE,JSSE扩展)。而且通过扩展装入的类会有安全方面的限制。

可选TASK

Ant支持一些可选task,一个可选的task一般需要一个额外的库才能工作。这些可选的task和core Ant tasks打包在一起。

每个可选task所需的外部库可参看依赖库(Library Dependencies)部分。这些外部库可以放到Ant的lib目录下,这样Ant就能自动装入,或者将其放入环境变量中。

Windows and OS/2

假设ant安装在c:ant。使用下面的命令设置环境变量。

set ANT_HOME=c:ant
set JAVA_HOME=c:jdk1.2.2
set PATH=%PATH%;%ANT_HOME%bin

Unix (bash)

假设ant安装在/usr/local/ant。使用下面的命令设置环境变量。

export ANT_HOME=/usr/local/ant
export JAVA_HOME=/usr/local/jdk-1.2.2
export PATH=${PATH}:${ANT_HOME}/bin

Unix (csh)

假设ant安装在/usr/local/ant。使用下面的命令设置环境变量。

setenv ANT_HOME /usr/local/ant
setenv JAVA_HOME /usr/local/jdk-1.2.2
set path=( $path $ANT_HOME/bin )

高级

运行ant需要用到许多变量,你至少需要下面这些:

·ant的classpath必须包含ant.jar文件和你所选择的JAXP兼容XML解析器的jar/classes文件。
·当你需要JDK的功能时(例如javac task或rmic task),对JDK1.1,JDK的classes.zip文件必须加入classpath中,对于JDK1.2或JDK1.3,tools.jar是必须的。Ant支持脚本,在bin目录中,如果设置了ANT_HOME环境变量,JDK的类会自动加载。
·当你执行特定平台的程序,例如exex task或cvs task,ant.home的属性必须指向Ant的安装目录,同样,Ant所带的脚本利用ANT_HOME环境变量自动设置该属性。

提供的ant shell脚本都支持ANT_OPTS环境变量,这个变量用于提供额外的可供选择的选项。存贮在users home 目录(能用于设置这样的选项)下的一些脚本也被读入。

构建Ant (Building Ant)

你即可以安装source形式的Ant,也可以从CVS上checkout Ant 模块来Building Ant。

安装完源码后,进入安装目录。

设定JAVA_HOME环境变量指向JDK的安装目录。要想知道怎么做请参看安装Ant部分。

确保你已下载了任何辅助jar文件,以便build你所感兴趣的task。这些jar文件可以放在CLASSPATH中,也可以放在lib目录下。参看依赖库部分可知不同的task需要那些jar文件。注意这些jar文件只是用作build Ant之用。要想运行Ant,你还要像安装Ant部分中所做的那样设定这些jar文件。

分享到:
评论

相关推荐

    ant ant ant ant

    在描述中反复出现的"ant ant ant antant ant ant antant ant ant ant"可能象征着构建过程的自动化和持续性,每一个“ant”代表一次自动化的构建动作,强调了Ant在持续集成和持续部署(CI/CD)中的作用。 至于标签...

    ant ant下载与配置

    ant ant下载 ant配置ant ant下载 ant配置ant ant下载 ant配置

    开发工具 ant-1.9.6

    开发工具 ant-1.9.6开发工具 ant-1.9.6开发工具 ant-1.9.6开发工具 ant-1.9.6开发工具 ant-1.9.6开发工具 ant-1.9.6开发工具 ant-1.9.6开发工具 ant-1.9.6开发工具 ant-1.9.6开发工具 ant-1.9.6开发工具 ant-1.9.6...

    apache-ant-1.6.5-bin.zip_ ant 1.6.5_ant_ant-1.6.5_apache ant win

    Apache Ant 是一个开源的构建工具,广泛用于Java项目构建,由Apache软件基金会开发。这个"apache-ant-1.6.5-bin.zip"文件是Ant的1.6.5版本的二进制发行版,适合在Windows操作系统上使用。Ant是基于Java的,它的主要...

    ant java ant

    本篇文章将深入探讨Ant的原理、使用方法以及与Java的紧密关系。 Ant是由Apache软件基金会开发的一款开源构建工具,主要用于Java项目的构建、编译、测试和部署。它的设计灵感来源于Make,但采用了XML格式来定义构建...

    ant.jar下载

    org.apache.tools.ant.Main org.apache.tools.ant.Task org.apache.tools.bzip2.CRC org.apache.tools.ant.Target org.apache.tools.ant.Project org.apache.tools.zip.ZipFile org.apache.tools.zip.ZipLong ...

    ANT构建的一个问题

    标题中的“ANT构建的一个问题”指的是在使用Apache Ant工具进行软件构建时遇到的特定问题。Apache Ant是一个Java库和命令行工具,其任务是驱动构建过程。它通过XML定义的构建文件来描述构建步骤,使得开发者可以自动...

    ant工具ant资源包

    Apache Ant 是一个由Java编写的构建工具,它主要用于自动化软件项目的构建、编译、测试和部署过程。这个“ant工具ant资源包”很可能是Apache Ant的一个版本,具体为1.8.3。Ant以XML为基础来描述项目构建的规则和依赖...

    AntDesignVue一个基于AntDesign和Vue的企业级UI组件库

    AntDesignVue是开发者们用于构建企业级前端界面的重要工具,它将阿里巴巴的Ant Design设计理念与Vue.js框架完美结合,提供了一系列高质量、易于使用的UI组件。这个强大的组件库旨在帮助开发者快速搭建美观且功能丰富...

    关于ant的资料关于ant的资料关于ant的资料

    Ant是Apache软件基金会的一个开源项目,它是一款强大的Java构建工具,用于自动化Java应用程序的构建、编译、测试和部署过程。Ant以其XML为基础的构建文件(build.xml)著称,这些文件定义了一系列任务,用于执行各种...

    自动化测试系列一 ANT

    不过,由于无法直接查看具体内容,我们只能假设它是关于ANT自动化测试的一个示例项目。 8. **集成开发环境支持**:许多Java IDE,如Eclipse和IntelliJ IDEA,都内置了对ANT的支持,可以直接在IDE中运行ANT脚本,...

    关于ant脚本的一些东西

    本篇文章将详细探讨Ant的相关知识点,包括其基本概念、API文档的使用以及配置文件的理解。 首先,让我们来了解一下Ant的基本概念。Ant的核心是基于XML的构建文件,通常命名为`build.xml`。这个文件定义了一系列的...

    ANT文件详解 ant介绍 ANT 命令

    Ant,全称为Apache Ant,是一款开源的、跨平台的项目构建工具,最初由James Duncan Davidson开发,现归属于Apache软件基金会Jakarta项目组。对于熟悉Linux系统的用户而言,Ant的功能类似于make工具,但相较于传统的...

    ant脚本资料ant

    Ant是Apache软件基金会下的一个项目,它是一款强大的构建工具,主要用在Java环境中,用于自动化构建、测试和部署Java应用程序。Ant使用XML来描述构建过程和依赖关系,使得构建过程可配置且易于跨平台移植。 1. **...

    ant工具和ant教程

    Ant是Apache软件基金会下的一个Java项目,它是一个构建工具,主要用于管理Java项目的构建过程。Ant以其XML为基础的构建文件(build.xml)而著名,这些文件详细描述了如何编译、打包和测试Java应用程序。Ant的核心...

    Ant 资源 Ant 资源

    ### 关于Ant构建工具 #### 一、Ant简介 **Ant**是一款开源的Java构建工具,主要用于自动化构建过程,如编译、测试、部署等。它最初由James Duncan Davidson开发,现归属于Apache软件基金会。 ##### 1.1 什么是Ant...

    ant_1.2.6 ant_1.2.6.zip

    Ant是Apache软件基金会的一个开放源代码项目,是一个Java构建工具,它使得构建、部署和管理Java项目变得更加简单。Ant以其XML格式的构建文件而闻名,这些文件定义了构建过程中的任务序列,允许开发者以声明性的方式...

    ant1.9包下载

    4. `LICENSE`和`NOTICE`文件:关于Apache Ant的授权和版权信息。 5. `README`文件:简要说明如何安装和使用Ant。 使用Ant时,通常需要将其添加到系统的PATH环境变量中,以便在命令行中直接调用。然后,开发者可以...

    ant 使用指南-ant入门

    Ant是Apache软件基金会的一个开放源码项目,是一个基于Java的构建工具,它的设计目标是简化Java项目的构建过程。Ant以其XML格式的构建文件(build.xml)而著名,它允许开发者定义构建任务,这些任务可以包括编译源...

    ant

    博文链接:https://zhang-he.iteye.com/blog/1250768 提供了一个关于Ant的深入解析,博主可能分享了如何使用Ant进行项目构建、配置Ant任务、以及解决常见问题的经验。 【标签】:“源码”、“工具” “源码”:Ant...

Global site tag (gtag.js) - Google Analytics