Eclipse 使用Apache-Ant 小记

  阅读: 62 评论: 0 作者: blackcore 发表于 2009-12-18 15:08 原文链接

现在时不时来学习一下,感觉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      
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     
53 
54     
55     
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     
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                 </span><span style="color: #808080"><h1>AntCase Test</h1></span><span style="color: #0000ff"> doctitle>
73         <bottom>
74             </span><span style="color: #808080"><i>All Rights Reserved.</i></span><span style="color: #0000ff"> bottom>
75     
76  javadoc>
77  target>
78  project>

 

 

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

Eclipse 使用Apache-Ant 小记_第1张图片

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

Eclipse 使用Apache-Ant 小记_第2张图片

 

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

Eclipse 使用Apache-Ant 小记_第3张图片

Eclipse 使用Apache-Ant 小记_第4张图片

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

Eclipse 使用Apache-Ant 小记_第5张图片

同样,在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就可以出现各种各样的意想不到的结果,因为各个任务之间的从属关系是乱的。

 

  发表评论

新闻频道:2009回顾之上网本:小家伙背负产业巨头大战略

推荐链接:Windows 7专题发布

网站导航:博客园首页  个人主页  新闻  社区  博问  闪存  知识库

你可能感兴趣的:(Eclipse 使用Apache-Ant 小记)