2014-12-08:已不再担任SCM和CI的职位,Jenkins系列的文章如无必要不会再维护。

网上看见的,确实很全,该有的基本都覆盖到了。自己拿来稍微改改就可以用了。

注:property中的value是你自己的一些本地变量。需要改成自己的

<?xml version="1.0" encoding="UTF-8"?>
<project name="genwar" default="all" basedir="."> <description> - Generate war file - </description> <property environment="env" /> <property name="debuglevel" value="source,lines,vars" />
<property name="target" value="1.6" />
<property name="source" value="1.6" /> <property name="output.dir" location="." />
<property name="output.file" value="new_cos.war" /> <property name="project.build" location="./build" />
<property name="project.src" location="./src" />
<property name="project.web" location="../web" />
<property name="project.lib" location="./lib" />
<property name="project.res" location="./res" />
<property name="project.svc" location="./svc" /> <property name="project.war" location="${project.build}/${output.file}" /> <property name="tmp" location="${project.build}/tmp" />
<property name="tmp.src" location="${tmp}/src" />
<property name="tmp.lib" location="${project.web}/WEB-INF/lib" />
<property name="tmp.bin" location="${tmp}/bin" />
<property name="tmp.web" location="${tmp}/web" />
<property name="tmp.classes" location="${tmp}/classes" /> <property name="checkstyle.dir" location="./ant-task/checkstyle" />
<property name="findbugs.dir" location="./ant-task/findbugs/home" />
<property name="findbugs.report.dir" location="./ant-task/findbugs" />
<property name="junit.reports.dir" value="./ant-task/junit/reports" />
<property name="junit.class.dir" value="./ant-task/junit/bin" />
<property name="junit.test.src" location="./test/java" />
<property name="junit.test.resources" location="./test/resources" /> <path id="javaclass.path">
<pathelement path="${env.classpath}" />
<pathelement path="${env.JBOSS_HOME}/server/all/lib/servlet-api.jar" />
<pathelement path="${env.JBOSS_HOME}/server/all/lib/jsp-api.jar" />
<fileset dir="${tmp.lib}" includes="*.jar" />
<!-- <fileset dir="${project.lib}" includes="*.jar" /> -->
</path> <path id="findbugs.path">
<fileset dir="${findbugs.dir}" includes="**/*.jar" />
</path> <target name="clean">
<delete file="${output.dir}/${output.file}" failonerror="false" />
<delete dir="${project.build}" failonerror="false" />
<mkdir dir="${project.build}" />
</target> <target name="all" depends="clean,buildwar" /> <target name="initdir"> <echo message="Init directories " /> <delete dir="${tmp}" failonerror="false" /> <mkdir dir="${tmp}" /> <mkdir dir="${tmp.src}" />
<copy todir="${tmp.src}">
<fileset dir="${project.src}" excludes="**/.svn/**" />
</copy> <mkdir dir="${tmp.lib}" />
<!--
<copy todir="${tmp.lib}">
<fileset dir="${project.web}/WEB-INF/lib" includes="*.jar" />
</copy>
--> <mkdir dir="${tmp.bin}" /> <mkdir dir="${tmp.web}/WEB-INF/lib" /> <delete dir="${tmp.web}/WEB-INF/classes" failonerror="false" />
<mkdir dir="${tmp.web}/WEB-INF/classes" /> </target> <target name="compilejava" depends="initdir">
<echo message="Compiling java code " /> <javac debug="true" debuglevel="${debuglevel}" destdir="${tmp.bin}" source="${source}" target="${target}" encoding="UTF-8">
<src path="${tmp.src}" />
<classpath refid="javaclass.path" />
</javac> <copy todir="${tmp.web}/WEB-INF/classes" includeemptydirs="false">
<fileset dir="${tmp.src}">
<exclude name="**/*.java" />
</fileset>
</copy>
<copy todir="${tmp.web}/WEB-INF/classes" includeemptydirs="false">
<fileset dir="${tmp.bin}">
<include name="**/*.class" />
</fileset>
</copy>
</target> <target name="compilejava-without-copy" depends="initdir">
<echo message="Compiling java code " /> <javac debug="true" debuglevel="${debuglevel}" destdir="${tmp.bin}" source="${source}" target="${target}" encoding="UTF-8">
<src path="${tmp.src}" />
<classpath refid="javaclass.path" />
</javac> </target> <target name="buildwar" depends="compilejava"> <echo message="Packing war file " /> <copy todir="${tmp.web}">
<fileset dir="${project.web}" excludes="**/.svn/**" />
</copy> <delete file="${project.war}" failonerror="false" />
<war destfile="${project.war}" basedir="${tmp.web}" webxml="${tmp.web}/WEB-INF/web.xml" encoding="utf-8" />
<delete dir="${tmp}" failonerror="false" /> <delete file="${output.dir}/${output.file}" failonerror="false" />
<move todir="${output.dir}" includeemptydirs="false" filtering="true">
<fileset dir="${project.build}">
<include name="**/*.war" />
</fileset>
</move> <delete dir="${project.build}" failonerror="false" /> </target> <taskdef resource="checkstyletask.properties"
classpath="${checkstyle.dir}/checkstyle-5.5-all.jar"/> <target name="checkstyle"
description="Generates a report of code convention violations."> <checkstyle config="${checkstyle.dir}/my_check.xml"
failureProperty="checkstyle.failure" failOnViolation="false">
<formatter type="xml" tofile="${checkstyle.dir}/checkstyle_report.xml" />
<fileset dir="${project.src}" includes="**/*.java" />
</checkstyle> <!-- style in="checkstyle_report.xml" out="checkstyle_report.html"
style="checkstyle.xsl" /--> </target> <taskdef name="findbugs" classname="edu.umd.cs.findbugs.anttask.FindBugsTask"
classpathref ="findbugs.path"/> <target name="findbugs" depends="compilejava-without-copy"
description="用Findbugs检查代码错误.">
<echo>开始用Findbugs检查代码错误</echo>
<findbugs home="${findbugs.dir}" output="xml"
outputFile="${findbugs.report.dir}/findbugs_report.xml" >
<auxClasspath >
<path refid="junit.test.lib.path" />
</auxClasspath>
<!--auxClasspath path="${basedir}/lib/Regex.jar" /-->
<sourcePath path="${tmp.src}" />
<class location="${tmp.bin}" />
</findbugs>
<echo>Findbugs检查代码错误完成</echo> <delete dir="${project.build}" failonerror="false" />
</target> <target name="junit-init" >
<delete dir="${junit.class.dir}" failonerror="false" />
<mkdir dir="${junit.class.dir}" />
<delete dir="${junit.reports.dir}/result-xml" failonerror="false" />
<mkdir dir="${junit.reports.dir}/result-xml" />
<delete dir="${junit.reports.dir}/html" failonerror="false" />
<mkdir dir="${junit.reports.dir}/html" />
<delete dir="${junit.reports.dir}/html-result" failonerror="false" />
<mkdir dir="${junit.reports.dir}/html-result" />
</target> <target name="junit-compile" depends="junit-init">
<echo message="${project.web}/WEB-INF/lib"/>
<javac srcdir="${project.src}" destdir="${junit.class.dir}" source="${source}" target="${target}" encoding="UTF-8">
<classpath refid="junit.test.lib.path" />
</javac>
<javac srcdir="${junit.test.src}" destdir="${junit.class.dir}" source="${source}" target="${target}" encoding="UTF-8">
<classpath refid="junit.test.lib.path" />
</javac>
<copy todir="${junit.class.dir}">
<fileset dir="${junit.test.resources}">
<include name="**/*.xml" />
</fileset>
</copy>
<copy todir="${junit.class.dir}">
<fileset dir="${project.src}">
<include name="**/*.xml" />
</fileset>
</copy>
</target> <path id="junit.test.lib.path">
<pathelement path="${env.JBOSS_HOME}/server/all/lib/servlet-api.jar" />
<pathelement path="${env.JBOSS_HOME}/server/all/lib/jsp-api.jar" />
<pathelement path="${env.JBOSS_HOME}/server/all/lib/jboss-j2ee.jar" />
<fileset dir="${project.web}/WEB-INF/lib" includes="**/*.jar" />
<fileset dir="${project.lib}" includes="**/*.jar" />
</path> <target name="junit-test" depends="junit-compile">
<junit printsummary="yes">
<classpath>
<!-- 指定lib和class路径,class和jar的声明不能混在一起 -->
<pathelement location="${junit.class.dir}" />
<path refid="junit.test.lib.path" />
</classpath>
<batchtest todir="${junit.reports.dir}/result-xml">
<fileset dir="${junit.test.src}" includes="**/*TestCase.java" />
<formatter type="xml" />
</batchtest>
</junit>
<junitreport todir="${junit.reports.dir}/html-result">
<!-- 指定测试结果的XML,即上一步产生的XML -->
<fileset dir="${junit.reports.dir}/result-xml">
<include name="TEST-*.xml" />
</fileset>
<!-- 根据测试结果XML,生成TESTS-TestSuites.xml,并由此产生HTML文件 -->
<report format="frames" todir="${junit.reports.dir}/html" />
<!--
-->
</junitreport>
</target>
</project>

文章来源:http://www.blogjava.net/paulwong/archive/2012/02/08/369617.html

Jenkins进阶系列之——16一个完整的JENKINS下的ANT BUILD.XML文件的更多相关文章

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

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

  2. 一个完整的JENKINS下的ANT BUILD.XML文件

    网上看见的,确实很全,该有的基本都覆盖到了.自己拿来稍微改改就可以用了. 注:property中的value是你自己的一些本地变量.需要改成自己的 <?xml version="1.0 ...

  3. 【ABAP系列】SAP 一个完整的SAP的Abap例子(idoc,edi文件的相互转换)

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP 一个完整的SAP的Aba ...

  4. Jenkins进阶系列之——01使用email-ext替换Jenkins的默认邮件通知

    1 简述 众所周知,Jenkins默认提供了一个邮件通知,能在构建失败.构建不稳定等状态后发送邮件.但是它本身有很多局限性,比如它的邮件通知无法提供详细的邮件内容.无法定义发送邮件的格式.无法定义灵活 ...

  5. Jenkins进阶系列之——17Jenkins升级、迁移和备份

    升级Jenkins Jenkins的开发迭代非常快,每周发布一个开发版本,长期支持版每半年更新一次(ps:大版本更新).如此频繁的更新,怎么升级呢? war:下载新版的war文件,替换旧版本war文件 ...

  6. jenkins之从0到1利用Git和Ant插件打war包并自动部署到tomcat(第五话):总结以及build.xml文件

    前面基本上把整个配置过程都完整地串起来了,包括可能遇到的难点,按照那个套路应该可以配置好自动打包发布的功能.简单总结下我的学习过程,以及遇到问题是怎样解决的. 准备一个项目源码 刚开始在github和 ...

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

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

  8. Jenkins进阶系列之——08Jenkins纳入版本控制

    2014-07-25:更新shell脚本 2014-06-05:更新shell脚本 2014-01-09:更新shell脚本,修改Jenkins文件删除后不能自动从版本控制删除的bug 是不是有过这种 ...

  9. Jenkins进阶系列之——13修改Jenkins权限控制

    说明:本方法适用于安全矩阵和项目矩阵授权策略的Jenkins. 很多童鞋在使用jenkins的时候忘记配置权限或者权限配置错误,然后各种蛋疼.最近闲着无事,折腾了下.好了,闲话少扯. Jenkins的 ...

随机推荐

  1. (甲)PAT-1001

    1001. A+B Format (20) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 16000 B   Calculate a + b and output the sum ...

  2. SQLServer中登录名的用户名配置

    其实这个问题困扰我很久了. 今夏(13.7)实习的时候第一次接触sqlserver 当时是统一安排,按部就班的做就行. 那时候链接数据库用的id是sa. 后来自己做小程序时候举得不管什么都用sa登录好 ...

  3. LightSpeed 的Left Join Bug解决方案

    在使用LightSpeed对数据库进行Left Join或Right Join操作时,经常会报一些匪夷所思的异常. 明明表没有问题,表面上语句写的也没问题,可总是报错.看分析器里的SQL就知道了,是L ...

  4. Java中的 WeakReference 和 SoftReference

    我们知道Java语言中没有指针,取而代之的是引用reference.Java中的引用又可以分为四种:强引用,弱引用(WeakReference),软引用(SoftReference),虚引用(Phan ...

  5. tmpFile.renameTo(classFile) failed 错误

    突然的出现了这个tmpFile.renameTo(classFile) failed 错误. 也许是我删掉了tomcat里面的webapps 中的项目,而通过debug部署,而出现了这个问题. 一开始 ...

  6. C语言杂谈(三)存储类别

    本文讨论C语言中的存储类别,包括数据在内存的存储.变量的存储类别.函数的存储类别.生存周期.下图为计算机的存储空间,有寄存器和内存. 一.存储区域 1.寄存器:存放立即参加运算的数据. 2.系统区:存 ...

  7. zsh

    一.简介 Zsh 也许是目前最好用的 shell,是 bash 替代品中较为优秀的一个.   二.优点 1)补全 zsh 的命令补全功能非常强大,可以补齐路径,补齐命令,补齐参数等. 按下 tab 键 ...

  8. MySQL常用技巧

    1.查看MySQL版本信息: 1,登上 mysql>status; 2,登上 mysql>select version(); 3,登上 mysql> select @@version ...

  9. C语言变参问题

    C++中有函数重载这种方法,以供我们调用时要可以不确定实参的个数,其实 C 语言也可以,而且更高明! 我们在stdio.h 中可以看到 printf() 函数的原型: int printf(char ...

  10. 关于hadoop 配置文件的一些实验

    机器配置如下,两台机器,nn2,nn2,搭建基于QJM的高可用集群,zk集群. 如果我在yarn-site.xml中配置的nodemanager的可用资源过少,其他配置如果不一致,那么就会造成提交的j ...