1. <?xml version="1.0" encoding="UTF-8"?>
  2. <project name="genwar" default="all" basedir=".">
  3.  
  4. <description> - Generate war file - </description>
  5.  
  6. <property environment="env" />
  7.  
  8. <property name="debuglevel" value="source,lines,vars" />
  9. <property name="target" value="1.6" />
  10. <property name="source" value="1.6" />
  11.  
  12. <property name="output.dir" location="." />
  13. <property name="output.file" value="new_cos.war" />
  14.  
  15. <property name="project.build" location="./build" />
  16. <property name="project.src" location="./src" />
  17. <property name="project.web" location="../web" />
  18. <property name="project.lib" location="./lib" />
  19. <property name="project.res" location="./res" />
  20. <property name="project.svc" location="./svc" />
  21.  
  22. <property name="project.war" location="${project.build}/${output.file}" />
  23.  
  24. <property name="tmp" location="${project.build}/tmp" />
  25. <property name="tmp.src" location="${tmp}/src" />
  26. <property name="tmp.lib" location="${project.web}/WEB-INF/lib" />
  27. <property name="tmp.bin" location="${tmp}/bin" />
  28. <property name="tmp.web" location="${tmp}/web" />
  29. <property name="tmp.classes" location="${tmp}/classes" />
  30.  
  31. <property name="checkstyle.dir" location="./ant-task/checkstyle" />
  32. <property name="findbugs.dir" location="./ant-task/findbugs/home" />
  33. <property name="findbugs.report.dir" location="./ant-task/findbugs" />
  34. <property name="junit.reports.dir" value="./ant-task/junit/reports" />
  35. <property name="junit.class.dir" value="./ant-task/junit/bin" />
  36. <property name="junit.test.src" location="./test/java" />
  37. <property name="junit.test.resources" location="./test/resources" />
  38.  
  39. <path id="javaclass.path">
  40. <pathelement path="${env.classpath}" />
  41. <pathelement path="${env.JBOSS_HOME}/server/all/lib/servlet-api.jar" />
  42. <pathelement path="${env.JBOSS_HOME}/server/all/lib/jsp-api.jar" />
  43. <fileset dir="${tmp.lib}" includes="*.jar" />
  44. <!-- <fileset dir="${project.lib}" includes="*.jar" /> -->
  45. </path>
  46.  
  47. <path id="findbugs.path">
  48. <fileset dir="${findbugs.dir}" includes="**/*.jar" />
  49. </path>
  50.  
  51. <target name="clean">
  52. <delete file="${output.dir}/${output.file}" failonerror="false" />
  53. <delete dir="${project.build}" failonerror="false" />
  54. <mkdir dir="${project.build}" />
  55. </target>
  56.  
  57. <target name="all" depends="clean,buildwar" />
  58.  
  59. <target name="initdir">
  60.  
  61. <echo message="Init directories " />
  62.  
  63. <delete dir="${tmp}" failonerror="false" />
  64.  
  65. <mkdir dir="${tmp}" />
  66.  
  67. <mkdir dir="${tmp.src}" />
  68. <copy todir="${tmp.src}">
  69. <fileset dir="${project.src}" excludes="**/.svn/**" />
  70. </copy>
  71.  
  72. <mkdir dir="${tmp.lib}" />
  73. <!--
  74. <copy todir="${tmp.lib}">
  75. <fileset dir="${project.web}/WEB-INF/lib" includes="*.jar" />
  76. </copy>
  77. -->
  78.  
  79. <mkdir dir="${tmp.bin}" />
  80.  
  81. <mkdir dir="${tmp.web}/WEB-INF/lib" />
  82.  
  83. <delete dir="${tmp.web}/WEB-INF/classes" failonerror="false" />
  84. <mkdir dir="${tmp.web}/WEB-INF/classes" />
  85.  
  86. </target>
  87.  
  88. <target name="compilejava" depends="initdir">
  89. <echo message="Compiling java code " />
  90.  
  91. <javac debug="true" debuglevel="${debuglevel}" destdir="${tmp.bin}" source="${source}" target="${target}" encoding="UTF-8">
  92. <src path="${tmp.src}" />
  93. <classpath refid="javaclass.path" />
  94. </javac>
  95.  
  96. <copy todir="${tmp.web}/WEB-INF/classes" includeemptydirs="false">
  97. <fileset dir="${tmp.src}">
  98. <exclude name="**/*.java" />
  99. </fileset>
  100. </copy>
  101. <copy todir="${tmp.web}/WEB-INF/classes" includeemptydirs="false">
  102. <fileset dir="${tmp.bin}">
  103. <include name="**/*.class" />
  104. </fileset>
  105. </copy>
  106. </target>
  107.  
  108. <target name="compilejava-without-copy" depends="initdir">
  109. <echo message="Compiling java code " />
  110.  
  111. <javac debug="true" debuglevel="${debuglevel}" destdir="${tmp.bin}" source="${source}" target="${target}" encoding="UTF-8">
  112. <src path="${tmp.src}" />
  113. <classpath refid="javaclass.path" />
  114. </javac>
  115.  
  116. </target>
  117.  
  118. <target name="buildwar" depends="compilejava">
  119.  
  120. <echo message="Packing war file " />
  121.  
  122. <copy todir="${tmp.web}">
  123. <fileset dir="${project.web}" excludes="**/.svn/**" />
  124. </copy>
  125.  
  126. <delete file="${project.war}" failonerror="false" />
  127. <war destfile="${project.war}" basedir="${tmp.web}" webxml="${tmp.web}/WEB-INF/web.xml" encoding="utf-8" />
  128. <delete dir="${tmp}" failonerror="false" />
  129.  
  130. <delete file="${output.dir}/${output.file}" failonerror="false" />
  131. <move todir="${output.dir}" includeemptydirs="false" filtering="true">
  132. <fileset dir="${project.build}">
  133. <include name="**/*.war" />
  134. </fileset>
  135. </move>
  136.  
  137. <delete dir="${project.build}" failonerror="false" />
  138.  
  139. </target>
  140.  
  141. <taskdef resource="checkstyletask.properties"
  142. classpath="${checkstyle.dir}/checkstyle-5.5-all.jar"/>
  143.  
  144. <target name="checkstyle"
  145. description="Generates a report of code convention violations.">
  146.  
  147. <checkstyle config="${checkstyle.dir}/my_check.xml"
  148. failureProperty="checkstyle.failure" failOnViolation="false">
  149. <formatter type="xml" tofile="${checkstyle.dir}/checkstyle_report.xml" />
  150. <fileset dir="${project.src}" includes="**/*.java" />
  151. </checkstyle>
  152.  
  153. <!-- style in="checkstyle_report.xml" out="checkstyle_report.html"
  154. style="checkstyle.xsl" /-->
  155.  
  156. </target>
  157.  
  158. <taskdef name="findbugs" classname="edu.umd.cs.findbugs.anttask.FindBugsTask"
  159. classpathref ="findbugs.path"/>
  160.  
  161. <target name="findbugs" depends="compilejava-without-copy"
  162. description="用Findbugs检查代码错误.">
  163. <echo>开始用Findbugs检查代码错误</echo>
  164. <findbugs home="${findbugs.dir}" output="xml"
  165. outputFile="${findbugs.report.dir}/findbugs_report.xml" >
  166. <auxClasspath >
  167. <path refid="junit.test.lib.path" />
  168. </auxClasspath>
  169. <!--auxClasspath path="${basedir}/lib/Regex.jar" /-->
  170. <sourcePath path="${tmp.src}" />
  171. <class location="${tmp.bin}" />
  172. </findbugs>
  173. <echo>Findbugs检查代码错误完成</echo>
  174.  
  175. <delete dir="${project.build}" failonerror="false" />
  176. </target>
  177.  
  178. <target name="junit-init" >
  179. <delete dir="${junit.class.dir}" failonerror="false" />
  180. <mkdir dir="${junit.class.dir}" />
  181. <delete dir="${junit.reports.dir}/result-xml" failonerror="false" />
  182. <mkdir dir="${junit.reports.dir}/result-xml" />
  183. <delete dir="${junit.reports.dir}/html" failonerror="false" />
  184. <mkdir dir="${junit.reports.dir}/html" />
  185. <delete dir="${junit.reports.dir}/html-result" failonerror="false" />
  186. <mkdir dir="${junit.reports.dir}/html-result" />
  187. </target>
  188.  
  189. <target name="junit-compile" depends="junit-init">
  190. <echo message="${project.web}/WEB-INF/lib"/>
  191. <javac srcdir="${project.src}" destdir="${junit.class.dir}" source="${source}" target="${target}" encoding="UTF-8">
  192. <classpath refid="junit.test.lib.path" />
  193. </javac>
  194. <javac srcdir="${junit.test.src}" destdir="${junit.class.dir}" source="${source}" target="${target}" encoding="UTF-8">
  195. <classpath refid="junit.test.lib.path" />
  196. </javac>
  197. <copy todir="${junit.class.dir}">
  198. <fileset dir="${junit.test.resources}">
  199. <include name="**/*.xml" />
  200. </fileset>
  201. </copy>
  202. <copy todir="${junit.class.dir}">
  203. <fileset dir="${project.src}">
  204. <include name="**/*.xml" />
  205. </fileset>
  206. </copy>
  207. </target>
  208.  
  209. <path id="junit.test.lib.path">
  210. <pathelement path="${env.JBOSS_HOME}/server/all/lib/servlet-api.jar" />
  211. <pathelement path="${env.JBOSS_HOME}/server/all/lib/jsp-api.jar" />
  212. <pathelement path="${env.JBOSS_HOME}/server/all/lib/jboss-j2ee.jar" />
  213. <fileset dir="${project.web}/WEB-INF/lib" includes="**/*.jar" />
  214. <fileset dir="${project.lib}" includes="**/*.jar" />
  215. </path>
  216.  
  217. <target name="junit-test" depends="junit-compile">
  218. <junit printsummary="yes">
  219. <classpath>
  220. <!-- 指定lib和class路径,class和jar的声明不能混在一起 -->
  221. <pathelement location="${junit.class.dir}" />
  222. <path refid="junit.test.lib.path" />
  223. </classpath>
  224. <batchtest todir="${junit.reports.dir}/result-xml">
  225. <fileset dir="${junit.test.src}" includes="**/*TestCase.java" />
  226. <formatter type="xml" />
  227. </batchtest>
  228. </junit>
  229. <junitreport todir="${junit.reports.dir}/html-result">
  230. <!-- 指定测试结果的XML,即上一步产生的XML -->
  231. <fileset dir="${junit.reports.dir}/result-xml">
  232. <include name="TEST-*.xml" />
  233. </fileset>
  234. <!-- 根据测试结果XML,生成TESTS-TestSuites.xml,并由此产生HTML文件 -->
  235. <report format="frames" todir="${junit.reports.dir}/html" />
  236. <!--
  237. -->
  238. </junitreport>
  239. </target>
  240. </project>

一个完整的ant build.xml的更多相关文章

  1. 一个完整的JENKINS下的ANT BUILD.XML文件(Jenkins可以参考)

    一个完整的JENKINS下的ANT BUILD.XML文件 <?xml version="1.0" encoding="UTF-8"?> <p ...

  2. Java Ant build.xml详解

    1,什么是antant是构建工具2,什么是构建概念到处可查到,形象来说,你要把代码从某个地方拿来,编译,再拷贝到某个地方去等等操作,当然不仅与此,但是主要用来干这个3,ant的好处跨平台   --因为 ...

  3. (转)Java Ant build.xml详解

    1,什么是ant ant是构建工具2,什么是构建概念到处可查到,形象来说,你要把代码从某个地方拿来,编译,再拷贝到某个地方去等等操作,当然不仅与此,但是主要用来干这个3,ant的好处跨平台   --因 ...

  4. Ant build.xml相关属性详解

    关键字: ant build.xml Ant的概念 可能有些读者并不连接什么是Ant以及入可使用它,但只要使用通过Linux系统得读者,应该知道make这个命令.当编译Linux内核及一些软件的源程序 ...

  5. Eclipse 运行ant build.xml

    在命令行cmd运行mvn clean install,ant compiler,提示上述信息,是因为 maven的这个插件要求jdk1.6,但是本地电脑环境变量jdk版本为1.7.将JAVA_HOME ...

  6. Ant build xml中的各种变量解释

    Ant build.xml中的各种变量 Ant环境变量分为四种: 1.      build.properties文件中定义的变量 2.      build.xml文件中定义的变量, 3.      ...

  7. Java eclipse下 Ant build.xml实例详解 附完整项目源码

    在有eclipse集成环境下ant其实不是很重要,但有些项目需要用到,另外通过eclipse来学习和理解ant是个很好的途径,所以写他demo总结下要点,希望能够帮到大家. 一.本人测试环境eclip ...

  8. Java MyEclipse下Ant build.xml简单实例详解

    一.下载配置ant 1.首先下载ant: http://www.apache.org/ 下载最新的版本2.解压ant 后设置ANT_HOME, PATH中添加ANT_HOME目录下的bin目录(如:A ...

  9. Java eclipse下 Ant build.xml实例详解

    在有eclipse集成环境下ant其实不是很重要,但有些项目需要用到,另外通过eclipse来学习和理解ant是个很好的途径,所以写他demo总结下要点,希望能够帮到大家. 一.本人测试环境eclip ...

随机推荐

  1. C语言介绍

    以下东东转自百度百科 C语言是一种计算机程序设计语言,它既具有高级语言的特点,又具有汇编语言的特点.它由美国贝尔实验室的Dennis M. Ritchie于1972年推出,1978年后,C语言已先后被 ...

  2. git(工作区,暂存区,管理修改,撤销修改,删除文件)

    工作区和暂存区 984次阅读 Git和其他版本控制系统如SVN的一个不同之处就是有暂存区的概念. 先来看名词解释. 工作区(Working Directory) 就是你在电脑里能看到的目录,比如我的l ...

  3. 数据库sql语句为什么要用绑定形式?

    基于两点: 1,安全性,防sql注入: 2,共享资源,相似的sql能被缓存而不是重新解析. 淘测试给出了一个很好的理由:http://www.taobaotesting.com/blogs/859

  4. centos精简系统 源码安装客户端git

    CentOS的yum源中git版本比较低,需要最新版本git,只能自己编译安装,现在记录下编译安装的内容,留给自己备忘. 对于精简型的centos系统,会缺少很多依赖包和插件,要源码安装客户端git, ...

  5. jquery datatable 参数api

    jQuery 的插件 dataTables 是一个优秀的表格插件,提供了针对表格的排序.浏览器分页.服务器分页.筛选.格式化等功能.dataTables 的网站上也提供了大量的演示和详细的文档进行说明 ...

  6. JavaConcurrentHashMap

    JavaConcurrentHashMap 大滕翼不自觉地往前探了探身子可还没等他听到唐寅说到 兆咒耶Т √靼脶摹 す宿坩曹 '字'心'上都有横您老瞧瞧这个'宣德 炔灌莞 蹇忄в 幼銮亿辽 仄黛境 ...

  7. android:onKeyDown

    android项目中的返回键有时处理不当,会是一个十分麻烦的问题. 在监听物理键时,可以用onKeyDown方法,Activity已经自己有KeyEvent.Callback这个接口了,因为项目有使用 ...

  8. bind启动时提示953端口被使用

    部署DNS的时候遇到个奇葩的问题,总是提示 couldn't add command channel 0.0.0.0#953: address in use 实际上系统上并没有进程使用953端口.查询 ...

  9. DataGirdView 编辑项时的验证

    dgvConfig.DataSource = CreateTable(); dgvConfig.Columns["编号"].ReadOnly = true; //只读 dgvCon ...

  10. 【单源最短路】dijstra poj 1502

    #include <cstdio> #include <iostream> #include <stdlib.h> #include <memory.h> ...