eclipse中使用ant

转自http://www.cnblogs.com/blackcore/archive/2009/12/18/1627204.html

Eclipse 使用Apache-Ant 小记

现在时不时来学习一下,感觉java的盘子太大,要想搞得明白、透彻、得心应手还真不是一件容易的事。

上周五去清华科技园的Google培训了一下,感觉还是不错,后来又正值自己休09年的几天年假,就在家没事瞎折腾了一翻。下面是自己对ant的一个小小的应用,供自己学习,如惹发现问题,恳请指正,谢谢! 

复制代码
build.xml完整代码
 1  < project  name ="AntCase"  default ="doc" >
 2 
 3       <!--  相关属性的定义  -->
 4       < property  name ="src.dir"  value ="src"  description ="java源文件"   />
 5       < property  name ="report.dir"  value ="report"   />
 6       < property  name ="classes.dir"  value ="classes"  description ="编译java源文件后的class文件"   />
 7       < property  name ="lib.dir"  value ="lib"  description ="存放编译和运行用到的所有jar文件"   />
 8       < property  name ="dist.dir"  value ="dist"  description ="存放打包后的jar文件"   />
 9       < property  name ="doc.dir"  value ="doc"  description ="存放API文档"   />
10       < property  name ="web.dir"  value ="web"  description ="存放JSP等web文件"   />
11 
12       <!--  定义classpath  -->
13       < path  id ="master-classpath" >
14           < fileset  file ="${lib.dir}/*.jar"   />
15           < pathelement  path ="${classes.dir}"   />
16       </ path >
17 
18       <!--  初始化任务  -->
19       < target  name ="init" >
20       </ target >
21 
22       <!--  清理相关文件 否则无法生成新的文件 -->
23       < target  name ="clean"  depends ="init"  description ="Destroys all generated files and dirs." >
24           < delete  dir ="${classes.dir}"  failonerror ="false"   />
25           < delete  dir ="${dist.dir}"  failonerror ="false"   />
26       </ target >
27 
28       <!--  编译  -->
29       < target  name ="compile"  depends ="clean"  description ="compile the source files" >
30           < mkdir  dir ="${classes.dir}"   />
31           < javac  srcdir ="${src.dir}"  destdir ="${classes.dir}"  target ="1.4" >
32               < classpath  refid ="master-classpath"   />
33           </ javac >
34       </ target >
35 
36       <!--  测试  -->
37       <!--  <target name="test" depends="clean,compile" description="run junit test">
38          <mkdir dir="${report.dir}" />
39          <junit printsummary="on" haltonfailure="false" failureproperty="tests.failed" showoutput="true">
40              <classpath refid="master-classpath" />
41              <formatter type="plain" />
42              <batchtest todir="${report.dir}">
43                  <fileset dir="${classes.dir}">
44                      <include name="**/*Test.*" />
45                  </fileset>
46              </batchtest>
47          </junit>
48          <fail if="tests.failed">
49              <echo>失败的文件</echo>
50          </fail>
51      </target>
52       -->
53 
54       <!--  打包成jar  -->
55       <!--  <target name="pack" depends="test" description="make .jar file">  -->
56       < target  name ="pack"  depends ="clean,compile"  description ="make .jar file" >
57           < mkdir  dir ="${dist.dir}"   />
58           < jar  destfile ="${dist.dir}/AntCase.jar"  basedir ="${classes.dir}" >
59               < exclude  name ="**/*Test.*"   />
60               < exclude  name ="**/Test*.*"   />
61           </ jar >
62       </ target >
63 
64       <!--  输出api文档  -->
65       < target  name ="doc"  depends ="pack"  description ="create api doc" >
66           < mkdir  dir ="${doc.dir}"   />
67           < javadoc  destdir ="${doc.dir}"  author ="true"  version ="true"  use ="true"  windowtitle ="Test API" >
68               < packageset  dir ="${src.dir}"  defaultexcludes ="yes" >
69                   < include  name ="example/**"   />
70               </ packageset >
71               < doctitle >
72                   <![CDATA[ <h1>AntCase Test</h1> ]]> </ doctitle >
73           < bottom >
74               <![CDATA[ <i>All Rights Reserved.</i> ]]> </ bottom >
75       <!-- <tag name="todo" scope="all" description="To do:" /> -->
76  </ javadoc >
77  </ target >
78  </ project >
复制代码

 

 

project 结构图(主要用于说明Project中的结构安排,以便ant的使用):

 文件目录结构图(这个图贴出来是为了为写作记录提供方便):

 

执行方式:(在cmd中或直接在eclipse中执行run as -> ant build就OK)

 可以看到每个任务的执行步骤都有执行过程信息,最后Build Successful...

同样,在Console输出的信息也同于cmd中执行ant一样。

 

感觉上,当开始一个新项目时,首先应该编写好Ant构建文件。

Ant文件明确地定义构建的过程,并被团队中的每个程序员使用,更为重要的是这个build.xml文件必须足够精细。

如果在GWT应用,这样一个过程是比较长的,毕竟编译成javascript文件需要的文件还是有点长的(比较耗内存)。

很明显这是一个xml文件,所以在编写时务必遵守xml的语法格式,习题把xml编码写得简洁,易懂,并且提供足够清晰明了的注释说明,如果xml文件太大,看起来就非常费劲咯。

每个build.xml文件应该有一个清除任务,在23~26行就有,否则等下一次再打包时会有问题(每次执行完ant后,可以在dist目录下看一下生成的jar/war文件是否是刚才ant后的最新文件,否则就是不成功的)。

每个build.xml文件中的任务都应该有非常明确的从属关系,否则一执行ant就可以出现各种各样的意想不到的结果,因为各个任务之间的从属关系是乱的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值