用ant来管理项目

2008-04-09 04:04:05来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折

用ant来管理项目



内容:

-. Ant简介
二.Ant的安装及配置
三:用ant管理项目
四:小技巧




本文描述了ant的基本语法及其如何应用于项目的管理
-. Ant简介
可能有许多读者并不了解什么是ant,以及如何使用它。但只要你是用过linux,你应该知道make为何物,当我们编译linux内核及一些软件的源程序时,我们经常需要在控制台下输入make。Make其实就是一个项目管理工具,而ant所实现的功能与make差不多。Ant是apache软件基金会jakarta项目中的一个子项目,由于是基于java编写的,因此具有很好的跨平台性。Ant由一些内置任务(task)和可选择的任务组成(当然你还可以编写自己的任务),使用Make时,你需要写一个Makefile文件,而用ant时则需要写一个build.xml文件。由于采用xml的语法,所以build.xml文件很容易书写和维护,且结构很清晰,而不像Makefile文件有那么多的限制(例如在tab符号前有一个空格的话,命令就不会执行)。Ant的优点远不止这些,它还很容易的集成到一些开发环境中(例如visual age,jbuilder,netbeans)。

二.Ant的安装及配置
安装
Ant目前的版本是1.3,首先到http://jakarta.apache.org/ant/index.html下载ant最新版本1.3,解压到C:/ant(window操作系统) 或者/usr/local/ant(linux操作系统),由于我们要用到xmlc ,而ant1.3中并没有包含它,所以我们需要David.Li为ant写的xmlc任务。具体url为http://www.digitalsesame.com/enhydra/EnhydraAnt20001213.tar.gz。将下载后的文件中的ant.jar替换掉ant1.3中ant.jar.这样ant的版本变为1.2.

2.设置路径
(1):windows98操作系统
编辑C:\enhydra\.bashrc,加入下面三行

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

(2):Linux操作系统
编辑/etc/profile或者 用户目录下的.bashrc文件,加入下面三行

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

三:用ant管理项目
1:基本的文件目录结构 解压到任意目录,我们可以看到目录树结构如下
├─bin
├─docs
│ ├─ant2
│ ├─api
│ │ └─org
│ │ └─apache
│ │ └─tools
│ │ ├─ant
│ │ │ ├─taskdefs
│ │ │ │ ├─compilers
│ │ │ │ └─optional
│ │ │ │ ├─clearcase
│ │ │ │ ├─depend
│ │ │ │ │ └─constantpool
│ │ │ │ ├─dotnet
│ │ │ │ ├─ejb
│ │ │ │ ├─ide
│ │ │ │ ├─javacc
│ │ │ │ ├─jlink
│ │ │ │ ├─jsp
│ │ │ │ ├─junit
│ │ │ │ ├─metamata
│ │ │ │ ├─net
│ │ │ │ ├─perforce
│ │ │ │ ├─scm
│ │ │ │ ├─sound
│ │ │ │ └─vss
│ │ │ ├─types
│ │ │ └─util
│ │ │ └─regexp
│ │ ├─mail
│ │ └─tar
│ └─manual
│ ├─CoreTasks
│ ├─CoreTypes
│ ├─Integration
│ └─OptionalTasks
└─lib





在这个目录树结构中,与传统的项目不同的是,我们用build.xml取代了Makefile,在讲述这个build.xml文件前,我们先了解一个基本的 build.xml文件的结构。

2:build.xml的基本书写规范
下面我们就来讲述这个文件的书写方法,下面是这个文件的全部内容
1.<?xml version="1.0"?>
2.<project name="MyProject" default="dist" basedir=".">
3.<property name="dist" value="dist"/>
4.<target name="init">
5.<mkdir dir="${dist}"/>
6.</target>
7.</project>




为了方便说明,我们为每一行加了行号,第一行是xml文件的基本要素,第二行说明这是一个项目,第七行说明项目的结束 ,在第二行中,name="MyProject"说明此项目的名称,这个属性可有可无。basedir="."说明基本目录,此属性可有可无。default="dist"说明项目的缺省目标(target)是什么,这个属性必须有。所谓目标(target)就是一系列任务(task)组成的一个集合。每个任务(task)的书写方法如下:
<任务名 属性1="属性1的值" 属性2="属性2的值" ....... />




第三行定义了一些属性(property),以便后面使用,这非常类似于编程中定义的全局变量。从第四行开始定义目标(target),name="init"指明了此目标的名称,name属性在定义目标时必须有,当然定义目标时还有其他一些属性可选,例如depends,unless,具体请参考ant的文档。第五行开始定义此目标内的任务,其中mkdir时ant的内部任务名,dir是此任务的属性,其值为${dist}。此任务就是创建一个目录。其中${dist}是获取dist属性的值(就是我们在第三行定义的)。如上就是一个基本的build.xml文件的写法。你可以在命令行上输入 ant -buildfile build.xml

看一下你的当前目录下是否多了一个dist目录。如果出错,则可能是你没有把ant配置好,参见前面讲的安装及配置,看一下哪儿出了错。

3:build.xml文件
build.xml文件如下,其中有的注释和无关的代码删掉了,且做了一下小小的改动
1:<?xml version="1.0"?>
2: <project default="app" basedir=".">
3:<!-- 加入 xmlc 任务-->
4:<taskdef name="xmlc"classname="org.apache.tools.ant.taskdefs.optional.enhydra.Xmlc"/>
5:<!-- =================================================================== -->
6:<!-- 设置编译的类路径 -->
7:<!-- =================================================================== -->
8:<path id="build.classpath">
9:<pathelement path="${build.classes}"/>

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:再谈软件的开发与遐思

下一篇:测试分析报告