看板java
标 题[doc] 认识ant buildfile的基本结构
发信站无名小站 (Sat Apr 8 08:59:08 2006)
转信站ptt!ctu-reader!Spring!news.nctu!feeder.seed.net.tw!news.ntu!news.ee.tt
*** 注意 ***
本篇只描述buildfile基本架构以及少许的task:)
若想学用ant编译project的人会失望呦XD
ANT 是什麽,相信写java的各位看倌,没吃过ant也看过ant走路呗:p
所以就不多做介绍了。总之,要让他们动起来为我们服务,除了要会安装
之外! 至少还要会写buildfile。buildfile 预设的名称是build.xml。如果你
执行ant 的时候什麽都不打上,就等於
% ant build.xml
[第一个buildfile]
学习ant 的门槛不在於ant 安不安得上您的机器,而是看了网路上一堆又一
堆的手册,还对buildfile 的写法很fuzzy:)下面我们就先看一个最简单又
什麽都不做的buildfile该长成什麽样子。
=====================================================[code start]=
<?xml version="1.0" encoding="utf-8" ?>
<project>
</project>
=[code end]=======================================================
这就是buildfile 内至少应包含的内容。我们写了这个的buildfile 却什麽都
没有交待。但最整体的outline理解是有帮助的^^
接着我们来看一下project tag能填写什麽属性:
http://ant.apache.org/manual/using.html#projects
如网页上所列的,可以用的有: 设定专案名称用的name属性、设定预设目标
(target)用的default属性、设定专案基准目录的basedir属性。
=====================================================[code start]=
<?xml version="1.0" encoding="utf-8" ?>
<project name="nice" basedir=".">
</project>
% ant
Buildfile: build.xml
BUILD SUCCESSFUL
Total time: 0 seconds
=[code end]=======================================================
执行之後,依然什麽都没发生。没有编译,没有错误。继续学习写target
不然我们永远只能看着BUILD SUCCESSFUL却也什麽都没有xd 当然,我们需
待编译的java档请把他放在basedir,由之前的设定,我们应该与buildfile
放在同一个目录:)
先预告一下,即使写完了target咱们还是什麽都不做的:) target只是工作
大略方向(设定此target的basedir、设定此target与那一家的target有相
依的关系、设定此target的描述内容)。而真正在描述工作的细节的是
target的children element(也就是传说中的task)。
task:
http://ant.apache.org/manual/coretasklist.html (所有内建的task)
=====================================================[code start]=
<?xml version="1.0" encoding="utf-8" ?>
<project name="nice" basedir=".">
<target name="i-need-kitty"
description="just get me a hello kitty" />
<echo>Kitty Kitty</echo>
</project>
=[code end]=======================================================
修改完了之後,您依然可以得到一个BUILD SUCCESSFUL。也许您会问: 这有
什麽意义呢? 这是有意义的,不过你得换一个方式执行。
=====================================================[code start]=
% ant -projecthelp
Buildfile: build.xml
[echo] Kitty Kitty
Main targets:
i-need-kitty just get me a hello kitty
=[code end]=======================================================
如您所见,这些设定可以方便地透过ant 产生help内容:)
--
夫兵者不祥之器物或恶之故有道者不处君子居则贵左用兵则贵右兵者不祥之器非君子
之器不得已而用之恬淡为上胜而不美而美之者是乐杀人夫乐杀人者则不可得志於天下
矣吉事尚左凶事尚右偏将军居左上将军居右言以丧礼处之杀人之众以哀悲泣之战胜以
丧礼处之道常无名朴虽小天下莫能臣侯王若能守之万物将自宾天地相合以降甘露民莫
之令而自均始制有名名亦既有夫亦将知止知止可以 pc210-59-94-148.nutn.edu.tw海