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. centos7.2自带的php5.4升级为5.6

    参考:http://jingyan.baidu.com/article/380abd0a1f176c1d91192c4b.html 今天在新购的阿里云上部署个phpmyadmin,结果显示了个如下信息 ...

  2. VBS基础篇 - 循环语句(3) - For...Next

    VBS基础篇 - 循环语句(3) - For...Next   指定循环次数,使用计数器重复运行语句,语法结构如下: 1 2 3 4 5 For counter = start To end [Ste ...

  3. vhost.sh 源代码,认真看哦

    #!/bin/bash # # Web Server Install Script # Created by wdlinux QQ:12571192 # Url:http://www.wdlinux. ...

  4. STM32F446 OTG_FS_DP/DM调试

    之前项目用STM32F207,现在升级到用STM32F446处理器,用到USB的OTG_FS模式接法: 1.USB只连接了DP/DM 2.DP需上拉1.5K的电阻到3.3V 3.PA9(VBUS) 和 ...

  5. nefu 179 珠子(最长递增子序列问题)

    Description 小林有一串珠子,是由很多个大小不同的珠子串联在一起组成的圆环型的,且其中每个珠子的大小可以用int型的整数来表示.小林有一个爱好就是数珠子,他想数那些位置相邻而且大小只相差1的 ...

  6. marzullo's algorithm

    given several intervals, how to find a interval which is a intersect of the most number of the given ...

  7. TextBox只读时不能通过后台赋值取值解决办法

    给页面的TextBox设置ReadOnly="True"时,在后台代码中不能赋值取值,下边几种方法可以避免:  1.不设置ReadOnly,设置onfocus=this.blur( ...

  8. Ubuntu 下安装 nfs

    1先安装sudo apt-get install nfs-kernel-server(安装nfs-kernel-server时,apt会自动安装nfs-common和portmap) 分开看就是1.服 ...

  9. [code]最长回文子串

    分析: 不能用scanf("%s"),因为碰到空格或者Tab就会停下来. 解决输入中有空格 方法一:使用fgetc(fin),读取一个打开的文件fin,读取一个字符,然后返回一个i ...

  10. pro文件常用内容

    qmake生成的pro文件中常用变量 SUBDIRS 指定子目录 TARGET 指定生成的应用程序名(默认为项目名) DEPENDPATH 指定程序编译时依赖的相关路径 INCLUDEPATH 指定头 ...