`

Ant tutorial(1)

阅读更多

     Apache Ant是一个基于Java的生成工具(another neat tool).使用 Ant,您能够编写单个生成文件,这个生成文件在任何 Java 平台上都一致地操作(因为 Ant 本身也是使用 Java 语言来实现的);这就是 Ant 最大的优势。

    Ant 没有定义它自己的自定义语法;相反,它的生成文件是用 XML 编写的.每个生成文件由单个 project 元素组成,该元素又包含一个或多个 target 元素。一个目标(target)是生成过程中已定义的一个步骤,它执行任意数量的操作,比如编译一组源文件。一次生成过程所必需的所有操作可以放入单个 target 元素中,但是那样会降低灵活性。将那些操作划分为逻辑生成步骤,每个步骤包含在它自己的 target 元素中,这样通常更为可取。这样可以执行整体生成过程的单独部分,却不一定要执行其他部分。例如,通过仅调用某些目标,您可以编译项目的源代码,却不必创建可安装的项目映像。

    顶级 project 元素需要包含一个 default 属性,如果在 Ant 被调用时没有指定目标,这个属性将指定要执行的目标。然后需要使用 target 元素来定义该目标本身。下面是一个最基本的生成文件:

<?xml version="1.0"?>
<project default="init">
   
<target name="init">
   
</target>
</project>

一次性打开和关闭一个元素也是可以做到的。因此,与其像上面那样target 元素使用单独的起始和结束标签,我们可以将它写为如下形式:       
<target name="init"/>

当元素没有包含任何内容时,更简练的形式会更清晰。
看一个具体的例子:

<?xml version="1.0"?>
<project default="init" name="Project Argon">
    
<description>
   A simple project introducing the use of     descriptive tags in Ant build files.
    
</description>
 
<!-- XML comments can also be used -->
   
<target name="init" description="Initialize Argon database">
 
<!-- perform initialization steps here -->
   
</target>
</project>

Ant 中用于设置属性的机制:  
<property name="metal" value="beryllium"/>

为了在生成文件的其他部分引用这个属性,使用以下语法:
                      
${metal}

为了使用这样一个值,它是另一个属性的值的组成部分,将标签写为下面这样:

<property name="metal-database" value="${metal}.db"/>

属性经常用于引用文件系统上的文件或目录,但是对于使用不同路径分隔符(例如,/ \)的平台来说,这样可能在跨越不同平台时导致问题。Ant location 属性专门设计用于以平台无关的方式包含文件系统路径。像下面这样使用 location 来代替value

<property name="database-file" location="archive/databases/${metal}.db"/>

用于 location 属性的路径分隔字符将被转换为当前平台的正确格式;而且由于文件名是相对的,它被认为是相对于项目的基目录。我们同样可以容易地写为下面这样:

<property name="database-file" location="archive\databases\${metal}.db"/>
定义依赖关系:使用 target 元素的 depends 属性来实现
<target name="init"/>
<target name="preprocess" depends="init"/>
<target  name="compile"depends="init,preprocess"/>
<target name="package" depends="compile"/>

这种方法允许您执行项目任何阶段的生成过程;Ant 会首先执行已定义的先决阶段。在上面的例子中,如果让Ant 完成 compile 步骤,它将判断出需要首先执行 init preprocess 这两个目标。init 目标不依赖其他任何目标,因此它将首先被执行。然后 Ant 检查 preprocesstarget,发现它依赖 init 目标;由于已经执行了后者,Ant 不会再次执行它,因而开始执行 preprocess 目标。最后可以执行 compile 任务本身。注意目标出现在生成文件中的顺序并不重要:执行顺序是由 depends 属性唯一确定的。

AntEclipse中——Ant 编辑器

    <?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" /><shapetype id="_x0000_t75" stroked="f" filled="f" path="m@4@5l@4@11@9@11@9@5xe" o:preferrelative="t" o:spt="75" coordsize="21600,21600"> <img height="235" hspace="0" src="/images/cnblogs_com/jeffchen/EclipseAntEditor.jpg" width="600"></shapetype>

名为 build.xml 的文件在 Eclipse 的导航程序视图中使用一个 Ant 图标来标识和装饰。右键单击这些文件会提供一个 Run Ant... 菜单选项,选择这个菜单选项将打开一个类似如下的对话框:

<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

 

来自该生成文件的所有目标都显示出来了,而默认的目标则处于选中状态。在您决定是否要改变默认目标之后,请按 Run 按钮来运行 AntEclipse 将切换到 Console 视图,如下图所示。错误将以不同的颜色显示出来,可以单击输出中的任务名称来跳到生成文件中的对应调用点。

 

默认情况下,Eclipse 仅对名为 build.xml 的文件使用 Ant 编辑器,不过可以容易地配置该编辑器,使其识别具有其他名称的文件。从菜单上选择 Window=>Preferences,然后展开Workbench 组,再选择 File Associations 参数设置页面。然后为预期的文件名添加一种新的文件类型。例如,可以为名为 mybuild.xml 的所有文件添加一种新的文件类型。如果想对具有 .xml 后缀的所有文件(特殊文件名除外,比如 plugin.xml,它在 Eclipse 中覆盖通配符指定)做同样的事情,您甚至可以使用 *.xml 最后为这种新的文件类型添加一个关联的编辑器,然后从编辑器列表上选择 Ant editor,如下所示:

 

分享到:
评论

相关推荐

    Apache Ant Tutorial.pdf

    1. **下载二进制文件**:首先访问官方网站 `http://jakarta.apache.org/ant/index.html` 下载最新的 Ant 二进制文件。 - **建议**:选择最新稳定版本进行下载,以确保兼容性和稳定性。 2. **解压缩文件**:将下载的...

    ant tutorial

    1. **Ant 与 Makefile 的对比** - **Tab 问题**:Makefile 使用 Tab 键进行语法缩进,而 Ant 的配置文件使用 XML,避免了 Tab 问题。 - **扩展方式**:Ant 使用 Java 类扩展,而 Makefile 使用 shell 命令。这使得...

    Ant参考教程,Ant使用指南,Ant全攻略

    "Ant+Tutorial.doc"可能深入到Ant的高级特性,包括使用条件语句(if/else)、属性文件、通配符选择器、宏定义(macrodef)以及自定义任务。通过属性文件,可以外部化配置信息,使构建更具灵活性。宏定义则允许用户...

    struts1 tutorial

    1.Introduction 2.Installation of Struts 3.The First Try: Simple JSP 4.Second Try: Struts For Internationalisation 5.Struts for Forms 6.Struts: Introducing the ActionForm 7.A better way to ...

    Gradle Tutorial

    标题为“Gradle Tutorial”的文档是一份关于Gradle构建工具的英文教程,介绍了Gradle的版本信息、实现方式、核心概念以及如何快速上手。文档指出,Gradle是类似于Maven和Ant的构建工具,它目前正开始被更广泛地采用...

    EJB3 实例教程(JBoss+Eclipse+Ant)

    在学习过程中,提供的`first-ejb3-ant-tutorial-en.pdf`文档将详细解释每个步骤,而`first-ejb3-ant-tutorial.zip`则包含了源代码和相关资源,供读者实际操作练习。 总之,这个教程旨在帮助开发者快速理解和掌握EJB...

    J2EE Tutorial中文版

    本教程《J2EE Tutorial中文版》将详细阐述这些概念,并通过实例演示如何在实际项目中应用。无论你是初学者还是有经验的开发者,都能从中受益,提升在J2EE领域的技能。通过学习,你将能够熟练地构建高效、可靠的企业...

    JUnit Testing Utility Tutorial.pdf

    JUnit 还与 Apache Ant 等工具集成,进一步提高了自动化测试的能力。 #### 二、安装指南 安装 JUnit 前提条件包括熟悉如何设置环境变量及在操作系统上安装软件。对于 Windows 用户,可以通过《配置 Windows 工作...

    struts tutorial.pdf

    - **Ant概述**: 解释Ant的作用及其在软件开发中的重要性。 ##### 11.3 Ant的配置 - **配置文件**: 介绍如何编写Ant的配置文件,以便于进行项目的构建任务。 ##### 11.4 Ant的使用 - **使用指南**: 提供具体实例,...

    tutorial-osgi:OSGI 示例

    只需在项目文件夹中运行ant ,这将指示 Ant 下载一些额外的库。 $ ant 然后,您可以运行任何您想要的示例。 运行ant -p以发现可用的示例。 $ ant -p Buildfile: tutorial-osgi/build.xml Launching various ...

    Struts tutorial

    1. **Struts的压缩包内容**: - Struts的下载包通常包含源码、API文档、示例应用以及必要的配置文件。解压后,你可以找到lib目录,里面包含运行Struts应用所需的jar文件,例如struts-core.jar、struts-taglib.jar等...

    Struts tutorial(中文)

    16. **用Ant Compilation和Distribution**:Ant是Java项目构建的工具,这部分涵盖了Ant的安装、配置和使用,以及如何用Ant完成项目的编译和部署。 17. **结论**:总结整个教程的主要内容和学习成果。 18. **关于这...

    JavaEE 5.0 Tutorial.pdf

    ##### 1. Java EE 应用模型 - **分布式多层应用**:Java EE支持构建跨多个服务器和网络分布的复杂应用。 - **安全性**:提供统一的安全框架,包括认证、授权和数据保护等。 - **Java EE 组件**: - **Web 组件**:...

    Web Service Tutorial JAVA

    - **构建与运行**:使用 Systinet Server for Java 的构建脚本(ANT)来构建和部署 Web 服务。这个过程可能包括编译 Java 源代码、生成 WSDL 文件以及部署服务。 - **总结**:经过这一系列步骤后,我们的聊天服务器...

    Struts Tutorial

    - **Ant简介**:Ant是一个Java工具,用于构建和部署Java应用程序。 - **配置Ant**: - 安装Ant - 创建build.xml文件来定义构建任务 - 执行Ant命令进行编译和打包 #### 十二、结论与展望 - **总结**:回顾了整个...

    tracemetrics-tutorial-1.0.pdf

    如果选择不使用Netbeans,可以在解压后的目录下执行`$ ant build.xml`命令进行编译。 #### 运行TraceMetrics ##### 启动JAR包 运行JAR文件是启动TraceMetrics的一种常见方式,确保已正确配置Java环境。 #### 分析...

    maven-tutorial:Apache Maven,httpclient,tomcat,ant和tile指南

    1. src/main/java - 存放源代码 2. src/main/resources - 存放非编译资源文件 3. src/test/java - 存放单元测试代码 4. src/test/resources - 存放单元测试所需的资源 5. pom.xml - 项目配置文件,定义项目信息、...

    ICEFaces :autocomplete-tutorial.zip

    这个"autocomplete-tutorial.zip"压缩包提供了一个关于如何在ICEFaces框架中使用自动补全功能的教程。自动补全功能是用户界面中常见的一种特性,允许用户在输入时获得建议或匹配项,通常用于搜索框或者表单字段,...

Global site tag (gtag.js) - Google Analytics