1. <?xml version="1.0" encoding="UTF-8"?>
2. <!-- name:对应工程的名字;default:需要的缺省任务(运行"ant"不指明任务时执行的任务) -->
3. <project name="hello" default="dist" basedir=".">
4.
5. <!-- 建立目录结构
6. project
7. ... src JAVA源码编辑目录
8. ... WebRoot web文件存放地方
9. ... WEB-INF
10. ...lib jar包(类库)存放目录
11. ... build 编译生成的class文件存放目录
12. ... dist war和javadoc存放目录
13. ... build.xml ant脚本
14. -->
15.
16. <property name="src.dir" value="src"/>
17. <property name="lib.dir" value="WEB-INF/lib"/>
18.
19. <property name="webRoot.dir" value="WebRoot"/>
20. <property name="web-inf.dir" value="${webRoot.dir}/WEB-INF"/>
21.
22. <property name="build.dir" value="build"/>
23. <property name="dist.dir" value="dist" />
24.
25. <!-- 初始化 classpath -->
26. <path id="project.classpath">
27. <fileset dir="${webRoot.dir}/${lib.dir}">
28. <include name="**/*.jar"/>
29. </fileset>
30.
31. <pathelement location="${build.dir}/classes"/>
32. <pathelement path="${java.class.path}"/>
33. </path>
34.
35. <!-- 删除之前的目录结构 -->
36. <target name="clear">
37. <delete dir="${build.dir}"/>
38. <delete dir="${dist.dir}"/>
39. </target>
40.
41. <!-- 创建化目录结构 -->
42. <target name="init">
43. <mkdir dir="${build.dir}/classes"/>
44. <mkdir dir="${dist.dir}"/>
45. </target>
46.
47. <!-- 编译Java代码 -->
48. <target name="compile" depends="init" description="compile java source">
49. <javac srcdir="${src.dir}" destdir="${build.dir}/classes">
50. <classpath refid="project.classpath"/>
51. </javac>
52.
53. <copy todir="${build.dir}">
54. <fileset dir="${src.dir}">
55. <include name="**/*.xml"/>
56. <include name="**/*.jar"/>
57. </fileset>
58. </copy>
59. </target>
60.
61. <!-- 将class文件打成 jar包 -->
62. <!--
63. <target name="pack" depends="compile">
64. <jar jarfile="${build.dir}/${ant.project.name}.jar">
65. <fileset dir="${build.dir}/classes">
66. <include name="**/*.class"/>
67. </fileset>
68. </jar>
69. </target>
70. -->
71.
72. <!-- 打成war包, 名称默认为 项目名 -->
73. <target name="dist" depends="compile">
74. <war destfile="${dist.dir}/${ant.project.name}.war" basedir="${webRoot.dir}" webxml="${web-inf.dir}/web.xml"/>
75. </target>
76. </project>