Ant学习三(完整实例)
1. <?xml version="1.0" encoding="gb2312"?> 2. <project name="MyProject" default="dist" basedir="."> 3. <!--//将name的值改为对应工程的名字 4. //将default的值改为需要的缺省任务(运行"ant"不指明任务时执行的任务) 5. --> 6. 7. 8. <!--File and Directory Names 文件和目录设置 9. 10. 11. 12. app.name 发布到tomcat的应用的名字 13. 14. app.version 应用的版本标识 15. 16. build.home 编译目标位置,默认为"build" 17. 18. catalina.home tomcat根目录位置 19. 20. deploy.home 部署位置,默认为"${catalina.home}/webapps/${app.name}" 21. 22. dist.home war包位置,默认为"dist" 23. 24. 25. --> 26. 27. <property name="app.name" value="myapp"/> 28. <!--//将value的值改为发布到tomcat的应用的名字 29. //例如:<property name="app.name" value="mytry"/> 30. --> 31. <property name="app.version" value="1.0"/> 32. <property name="build.home" value="build"/> 33. <property name="catalina.home" value="D:\Tomcat5.0"/> 34. <!--//将value的值改为你安装tomcat的路径 35. //例如:<property name="catalina.home" value="G:\jakarta-tomcat-4.0.1\"/> 36. --> 37. <property name="deploy.home" value="${catalina.home}/webapps/${app.name}"/> 38. <property name="dist.home" value="dist"/> 39. 40. 41. <!--Compilation Control Options 编译控制选项 42. 43. compile.debug 是否包含debug信息 44. 45. compile.deprecation 46. 47. compile.optimize 是否优化编译 48. 49. --> 50. 51. <property name="compile.debug" value="true"/> 52. <property name="compile.deprecation" value="false"/> 53. <property name="compile.optimize" value="true"/> 54. 55. 56. <!-- Compilation Classpath 路径设置--> 57. 58. <path id="compile.classpath"> 59. 60. <pathelement location="${catalina.home}/common/classes"/> 61. <fileset dir="${catalina.home}/common/lib"> 62. <include name="*.jar"/> 63. </fileset> 64. 65. 66. </path> 67. 68. <!--Clean Target 删除先前的目录结构--> 69. 70. <target name="clean" 71. description="Delete old build and dist directories"> 72. <delete dir="${build.home}"/> 73. <delete dir="${dist.home}"/> 74. </target> 75. 76. <!--Compile Target 编译代码,在这之前先由prepare建立目录结构--> 77. 78. <target name="compile" depends="prepare" 79. description="Compile Java sources"> 80. 81. <!-- Compile Java classes as necessary --> 82. <mkdir dir="${build.home}/WEB-INF/classes"/> 83. <javac srcdir="src" 84. destdir="${build.home}/WEB-INF/classes" 85. debug="${compile.debug}" 86. deprecation="${compile.deprecation}" 87. optimize="${compile.optimize}"> 88. <classpath refid="compile.classpath"/> 89. </javac> 90. 91. 92. <copy todir="${build.home}/library/classes"> 93. <fileset dir="src" includes="**/*.properties"/> 94. </copy> 95. 96. </target> 97. 98. 99. <!--Deploy Target 在tomcat下建立应用目录并部署应用--> 100. 101. <target name="deploy" depends="compile" 102. description="Deploy application to servlet container"> 103. 104. <!-- Copy the contents of the build directory --> 105. <mkdir dir="${deploy.home}"/> 106. <copy todir="${deploy.home}"> 107. <fileset dir="${build.home}"/> 108. </copy> 109. 110. <mkdir dir="${deploy.home}/WEB-INF/lib"/> 111. 112. 113. </target> 114. 115. 116. <!--Dist Target 将应用打包成war,在这之前先执行javadoc和deploy--> 117. 118. <target name="dist" depends="deploy,javadoc" 119. description="Create binary distribution"> 120. 121. <copy todir="${dist.home}/docs"> 122. <fileset dir="docs"/> 123. </copy> 124. 125. <jar jarfile="${dist.home}/${app.name}.war" 126. basedir="${deploy.home}"/> 127. 128. </target> 129. 130. <!--Javadoc Target 生成javadoc--> 131. 132. <target name="javadoc" depends="compile" 133. description="Create Javadoc API documentation"> 134. 135. <mkdir dir="${dist.home}/docs/api"/> 136. <javadoc sourcepath="src" 137. destdir="${dist.home}/docs/api" 138. packagenames="hello.*"/> 139. <!--//改为需要制作javadoc的包名。如果不做javadoc,这里不必改。例如:packagenames="hello.*"/>--> 140. </target> 141. 142. <!--Prepare Target 建立打包的目的目录结构--> 143. 144. <target name="prepare"> 145. 146. <mkdir dir="${build.home}"/> 147. <copy todir="${build.home}"> 148. <fileset dir="web"/> 149. </copy> 150. </target> 151. </project>?