ant打包成war包,通过jenkins自动ant构建到tomcat

时间:2022-12-31 18:40:32

 

首先是 build.xml文件,这个是关键。在你的项目下

 

下面的一些地方你需要自己修改,比如project name,tomcat.home,以及一些xml文件的路径。一下build.xml参考的是http://blog.csdn.net/miraclestar/article/details/6002573,生成的war包会放到项目的根目录下的build文件夹下。不懂的q我。

<?xml version="1.0" encoding="UTF-8"?>
       
<project name="kanban" default="generwar" basedir=".">
       
    <property name="build" value="${basedir}/build" />
       
    <property name="build.class" value="${build}/classes" />
       
    <property name="src" value="${basedir}/src" />
       
    <property name="webRoot" value="${basedir}/WebContent" />
       
    <property name="lib" value="${webRoot}/WEB-INF/lib" />
       
    <property name="tomcat.home" value="D:\tomcat\apache-tomcat-7.0.41" />
       
    <!--定义CLASSPACH,编译时用到你外部加入的包-->
       
    <path id="classpath">
       
        <pathelement location="${src}" />
       
        <fileset dir="${lib}" includes="***.jar" />
        <fileset dir="${tomcat.home}/lib" includes="***.jar" />
       
    </path>
       
       
    <!--请将下面的路径改为你本地的路径-->
       
    <property name="webserver" value="${tomcat.home}/webapps" />
       
       
    <!--删除任务-->
       
    <target name="clean" description="删除">
       
        <echo message="删除目录" />
       
        <delete dir="${build}" />
       
    </target>
       
       
    <!--创建一个临时目录-->
       
    <target name="init" description="创建目录" depends="clean">
       
        <echo message="创建目录--以执行" />
       
        <mkdir dir="${build.class}" />
       
    </target>
       
       
    <!--编译java源文件-->
       
    <target name="compile" description="编译文件" depends="init">
       
        <echo message="编译文件" />
       
        <javac srcdir="${src}" destdir="${build.class}" compiler="javac1.6" source="1.6" target="1.6" debug="on">
            <classpath refid="classpath" />
            <compilerarg line="-encoding UTF-8 " />
        </javac>
       
    </target>
       
       
    <!--打成WAR包-->
       
    <target name="generwar" depends="compile">
       
        <echo message="打成WAR" />
       
        <copyfile dest="${webRoot}/WEB-INF/classes/spring.xml" src="${src}/spring.xml" />
        <copyfile dest="${webRoot}/WEB-INF/classes/kanban.xml" src="${src}/kanban.xml" />
        <copyfile dest="${webRoot}/WEB-INF/classes/rsclient.xml" src="${src}/rsclient.xml" />
       
        <!--
        <copydir src="${src}" dest="${webRoot}/WEB-INF/classes" includes="*.xml" excludes="*.java"/>
        -->
       
        <war destfile="${build}/${ant.project.name}.war" webxml="${webRoot}/WEB-INF/web.xml">
       
            <fileset dir="webContent">
            </fileset>
       
            <lib dir="${lib}" />
       
            <classes dir="${build.class}" />
       
        </war>
       
    </target>
       
       
    <!--把打好的WAR删除-->
       
    <target name="deleteWar" depends="fabu" description="删除服务器上的war">
        <delete dir="${build}" />
    </target>
       
    <!--把WAR放到一个指定目录,这里是直接布署到TOMCAT服务器-->
       
    <target name="fabu" depends="generwar" description="发布">
       
        <copy file="${build}/${ant.project.name}.war" todir="${webserver}">
       
        </copy>
       
    </target>
       
       
       
</project>

然后去网上下载最新版的ant (我用到的是1.9版本 2013年6月14日18:51:18)放到你的jenkins服务器里面。

之后开始构建,然后坐等tomcat7的app现身吧!!

 

落雨

394263788

2013年6月14日18:52:16