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

一篇关于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配置

    apache-ant-1.6.0-bin.zip_ant 1_ant 1.6_ant 1.6.0_ant-1.6.0_apach

    Apache Ant 是一个开源的构建工具,它主要用于Java项目,但也可以用于其他语言的构建过程。在标题和描述中提到的 "apache-ant-1.6.0-bin.zip" 是Apache Ant 1.6.0版本的二进制发行包,这个版本在JSP(JavaServer ...

    开发工具 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.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 java ant

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

    ant.jar,ant-junit.jar,ant-launcher.jar,ant-trax.jar

    在IT行业中,Ant是一个至关重要的自动化构建工具,尤其在Java开发领域中被广泛使用。Ant以其XML为基础的构建文件(通常命名为build.xml)为特点,允许开发者定义和执行项目的构建任务。现在,让我们深入探讨一下标题...

    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)著称,这些文件定义了一系列任务,用于执行各种...

    apache-ant-1.7.1-src.zip_Apache Ant1.7_ant 1.7.1_ant1_apache ant

    Use the links below to download a source distribution of Ant from one of our mirrors. It is good practice to verify the integrity of the distribution files, especially if you are using one of our ...

    自动化测试系列一 ANT

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

    关于ant脚本的一些东西

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

    ant_1.2.6 ant_1.2.6.zip

    Ant是Apache软件基金会的一个开放源代码项目,是一个Java构建工具,它使得构建、部署和管理Java项目变得更加简单。Ant以其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...

Global site tag (gtag.js) - Google Analytics