`
fwmeng_梦
  • 浏览: 8291 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

项目中ant构建文件的使用总结

    博客分类:
  • Ant
阅读更多

最近交接的一个项目,项目算是比较老了,里面使用了ant编译代码,使用的是默认配置build.xml。

自己从没有接触过build.xml,ant的相关内容也没有学些过,这里由于项目用到了,就根据项目中的使用情况,进行了简单的学习。废话少说。

Ant是Apache中的一个子项目,最近Apache的Ant基项目前移到了

Apache Ant's family of projects migrates to git on https://git-wip-us.apache.org/repos/asf

这里就不对ant做全面的介绍了,就根据项目中的使用介绍下如何编写build.xml。

Apache Ant的构建文件是写在xml文件中的,每个构建文件一个项目project和至少一个(默认的)目标target,用<target></target>元素来定义,每一个target元素就是定义一个目标,即完成某件事情;target元素内包含的是各种任务task元素,每个task都是可执行的任务,即完成某件事情的具体步骤(注意:task元素不是<task></task>元素,而是一类元素,比如<java>、<javac>等等)。task元素可以包含一个id属性,其他task可以根据这个id的值引用该task,因此可知,id的值是唯一的。

这里首先要说一下,一个构建文件中要有一个project,一个或者多个目标元素,目标元素里面应该定义任务,同时在构建文件中也可以定义属性,作为全局变量来被使用。

1.project

一个project元素有三个属性,name,default,basedir

name:项目的名字,不是必须的。

default:当没有定义target元素时,该元素作为默认元素使用。提示:从ant1.6.0之后,每一个project包括一个隐含的target,作为ant初始化的一部分,总是不执行,即使你在使用ant help 选项的时候也执行。

basedir:计算所有目录的基目录,这个属性可能被事先定义的"basedir"的property属性覆盖,如果定义了basedir的property,则project的basedir属性必须被省略。如果两者都没有定义,则使用构建文件所在目录的父目录。

包含该构建文件的目录作为一个相对目录使用。

另外,一个project包含一个或者多个target元素,一个target包含一些列需要执行的task。启动ant的时候,可以指定执行那些target,如果没有指定,则默认的target被执行。

 

2.target

如上面所述,target就是要完成的一件目标,一个target可以依赖于其他的target。例如,你有一个编译的target,其name为compile,还有一个创建分发包的target,其name为distribute,那么在你构建分发包之前需要先编译,则这个distribute就要依赖于compile。ant会去解析这些依赖关系。

这里需要注意的是:target的denpends属性仅仅是指定了在当前target执行前以来的target的一个执行顺序,但是不管依赖的target是否执行过,都不影响依赖目标的执行。

 

3 task

一个任务(task)是一系列可执行的代码。

一个task可能有很多属性attribute和参数arguments,属性attribute的值可能会引用之前定义的property,ant在运行前会去解析这些引用。

 task有一个通用的结构,如下:

<name attribute1="value1" attribute2="value2" ....>

name:这个task的name值,attribute1:这个task的属性名称,value1:对应属性的属性值。

Ant中有很多内置的task,例如java、javac、jar等等。这里也可以编写自己的task。

 

 

分享到:
评论

相关推荐

    JAVA_Ant详细介绍与应用

    包含文档和项目实例。...利用Ant构建和部署Java工程 1.利用Ant的javac任务来编译java程序 2.使用Ant的java任务运行Java程序 3.使用Ant的jar任务生成jar文件 4.使用Ant的war任务打包J2EE Web项目 五.总结

    Ant权威指南

    Ant构建块 一个示例工程及构建文件 构建文件执行处理 Ant并非脚本语言 构建文件授权问题 第四章 AntDataType 已定义DataType XML属性约定 argument DataType environment DataType filelist DataType fileset ...

    ant1.9资源

    利用Ant构建和部署Java工程 Ant可以代替使用javac、java和jar等命令来执行java操作,从而达到轻松的构建和部署Java工程的目的。下面来看几个知识点。 1. 利用Ant的javac任务来编译java程序 Ant的javac任务用于...

    Gradle实战-第一章和第二章技术分享.pdf

    构建文件就是我们常说的构建脚本,构建引擎将构建文件中的指令和规则翻译成构建工具的内部模型,并产生对应的构建的输出。 Java构建工具 Java构建工具包括Apache Ant和Apache Maven。Apache Ant是一个将软件编译、...

    打jar包方法

    在 Eclipse 等集成开发环境中,可以通过编译和构建项目来生成 class 文件。 二、选择打包工具 Java 提供了多种打包工具,包括 Eclipse 的导出功能、Apache Ant、Maven 等。在本文中,我们将使用 Eclipse 的导出...

    Maven权威指南 很精典的学习教程,比ANT更好用

    构建一个简单的项目 3.4. 简单的项目对象模型 (Project Object Model) 3.5. 核心概念 3.5.1. Maven插件和目标 (Plugins and Goals) 3.5.2. Maven生命周期 (Lifecycle) 3.5.3. Maven坐标 (Coordinates) 3.5.4...

    使用 Eclipse 和 Java SE 创建独立 Web Services 应用程序

    使用 Eclipse 和 Java SE 创建独立 Web Services 应用程序 本文将指导读者使用 Eclipse 和 Java SE 6 创建独立 ...* 如何在 Eclipse IDE 中使用基于 Ant Java 的构建工具来运行特殊 Java 命令以生成代码的某些部分。

    iuhyiuhkjh908u0980

    以下先列出初步的的ant构建文件的代码: build.xml by vb2005xu 2009-06-02 回复 (3) 相关讨论 持续集成简单总结 一、理论篇: 持续集成鼓励尽量短周期内项目团队的代码提交,同时保证每次check in都不会损害我们的...

    Liferay_Portal_6.1源码导入到eclipse

    Ant 是一个基于 Java 的构建工具,用于自动化构建和部署应用程序。下载 Ant 1.8.4,下载地址为 http://www.apache.org/dist/ant/binaries/apache-ant-1.8.4-bin.zip。解压缩后,设置环境变量:ANT_HOME 为 D:\apache...

    swing界面设计之JTree

    下载依赖的 JAR 文件并在 Eclipse 的 classpath 中定义这种依赖性 15 创建 to-do 列表:基本的 Swing 和 Spring 应用程序设置 17 创建 MainFrame、Launcher 和 ToDo 类 17 创建 Spring app-context.xml bean 定义...

    Eclipse权威开发指南2.pdf

    2.4.6 在Eclipse中使用其他计算机程序..... 55 2.4.7 性能..... 60 2.5 练习概述...... 61 2.6 本章小结...... 61 2.7 参考文献...... 62 第3章 使用Java开发工具 63 3.1 JDT入门...... 64 3.1.1 JDT用户界面概述.....

    Eclipse权威开发指南3.pdf

    2.4.6 在Eclipse中使用其他计算机程序..... 55 2.4.7 性能..... 60 2.5 练习概述...... 61 2.6 本章小结...... 61 2.7 参考文献...... 62 第3章 使用Java开发工具 63 3.1 JDT入门...... 64 3.1.1 ...

    Eclipse权威开发指南1.pdf

    2.4.6 在Eclipse中使用其他计算机程序..... 55 2.4.7 性能..... 60 2.5 练习概述...... 61 2.6 本章小结...... 61 2.7 参考文献...... 62 第3章 使用Java开发工具 63 3.1 JDT入门...... 64 3.1.1 ...

Global site tag (gtag.js) - Google Analytics