Ant整合svnant(三)

3、构建模板示例三(ant整合svnant)

实现ant可以从svn服务器上检出代码要使用svnant jar文件。

从网上下载svnant 包,下载地址:

http://subclipse.tigris.org/files/documents/906/49042/svnant-1.3.1.zip

将下载好的svnant 解压将 lib目录下的所有jar复制到ant主目录中的 lib目录下。

build.properties文件:

 1 #svn信息
 2 svn.UserName=zhangwj
 3 svn.UserPassword=zhangwj123
 4 #工程svn源码目录
 5 svn.URL=svn://116.228.187.195/BSTPRJ/BSTWEBFB/2-SRC/01-Trunk/UCCenter2
 6 #工程svn源码版本号
 7 svn.ver=0.1
 8 
 9 
10 #项目名称
11 name=UCCenter2
12 
13 #tomcat位置
14 tomcat.home=D:\apache-tomcat-6.0.36

build.xml文件:

  1 <?xml version="1.0" encoding="gbk"?>
  2     <project basedir="." default="publish" name="package project">
  3           
  4         <target name="init" >
  5                 <echo message="设置初始化打war包需要的路径变量..."/>  
  6            <!-- <property name="name" value="UCCenter2"/>-->
  7            <property file="build.properties" />
  8             <property name="root" value="."/>
  9                
 10             <property name="src" value="${root}/${name}/src"/>  
 11             <property name="lib" value="${root}/${name}/WebRoot/WEB-INF/lib"/>  
 12             <property name="webapp" value="${root}/${name}/WebRoot"/>  
 13               
 14             <property name="build.dest" value="${root}/AntBuild/${name}"/> 
 15             <property name="build.lib" value="${root}/AntBuild/${name}/WEB-INF/lib"/>  
 16             <property name="build.classes" value="${root}/AntBuild/${name}/WEB-INF/classes"/>
 17                        <property name="build.javadocs" value="${root}/AntBuild/doc"/>  
 18             <property name="jar.dest" value="${root}/AntBuild/jar"/>  
 19             <property name="war.dest" value="${root}/AntBuild/war"/>  
 20               
 21             <!--<property name="tomcat.home" value="D:\apache-tomcat-6.0.36"/> -->
 22             
 23             <!--编译java源文件所需的jar文件 --> 
 24             <path id="classpath">  
 25                 <fileset dir="${lib}">  
 26                     <include name="**/*.jar"/>  
 27                 </fileset>  
 28             </path> 
 29             
 30             <!-- 引用svn task文件,使用svn任务可以使用--> 
 31             <path id="ant.svn.classpath">
 32                             <fileset dir="${ant.home}/lib">
 33                                 <include name="*.jar" />
 34                             </fileset>
 35                         </path>
 36                         <typedef resource="org/tigris/subversion/svnant/svnantlib.xml" classpathref="ant.svn.classpath"/> 
 37                         
 38                         <!--  设置svn相关属性  --> 
 39                         <svnSetting id="svn.setting" svnkit="true" username="${svn.UserName}" password="${svn.UserPassword}" javahl="false" /> 
 40                         
 41         </target>  
 42           
 43         <target name="prepare" depends="init"> 
 44                 <echo message="创建打包需要的路径,拷贝源文件到打包路径下..."/>
 45                 <mkdir dir="${build.dest}"/>   
 46             <mkdir dir="${build.lib}"/>
 47             <mkdir dir="${build.classes}"/>
 48             <mkdir dir="${build.javadocs}"/>  
 49             <mkdir dir="${jar.dest}"/>  
 50             <mkdir dir="${war.dest}"/>     
 51         </target> 
 52        
 53         <target name="checkout" depends="prepare">
 54                   <echo message="正在从svn下载文件..."/>
 55                     <svn refid="svn.setting">
 56                         
 57                         <export srcUrl="${svn.URL}" destPath="${root}/${name}" force="true"   />
 58                     </svn> 
 59                     <copy todir="${build.dest}">  
 60              <fileset dir="${webapp}"/>  
 61           </copy>  
 62                 </target> 
 63      
 64         <target name="compile" depends="checkout"> 
 65                 <echo message="编译java文件,拷贝properties属性配置文件到编译后的路径下"/> 
 66             <javac srcdir="${src}" destdir="${build.classes}">  
 67                 <classpath refid="classpath"/>  
 68             </javac>  
 69             <copy todir="${build.classes}">  
 70                 <fileset dir="${src}">  
 71                     <include name="**/*.properties"/>  
 72                 </fileset>  
 73             </copy>  
 74         </target>  
 75         
 76         <target name="antjar" depends="compile">
 77                 <echo message="开始进行打jar包..."/>
 78                         <jar destfile="${jar.dest}/${name}.jar" basedir="${build.classes}" />
 79                 </target>
 80         
 81          <target name="antwar" depends="antjar"> 
 82                  <echo message="开始进行打war包..."/> 
 83             <delete dir="${build.src}"/>
 84             <war warfile="${war.dest}/${name}.war" webxml="${build.dest}/WEB-INF/web.xml">  
 85                 <!--<lib dir="${buildwar.lib}"/>  -->
 86                 <classes dir="${build.classes}"/>  
 87                 <fileset dir="${build.dest}"/>  
 88             </war>  
 89          </target>
 90         
 91          <target name="publish" depends="antwar,clean">  
 92                  <echo message="发布war包至tomcat目录下..."/>
 93             <copy todir="${tomcat.home}/webapps">  
 94                 <fileset dir="${war.dest}">  
 95                     <include name="**/*.war"/>  
 96                 </fileset>  
 97             </copy>  
 98          </target> 
 99          
100          <target name="clean" depends="init">
101                  <echo message="清除打包用临时文件..."/> 
102                 <delete>  
103                     <fileset dir="${build.classes}" includes="**/*.classes"/>  
104                 </delete>  
105                 <delete dir="${build.dest}"/> 
106                 <delete dir="${root}/${name}"/> 
107             </target> 
108             
109             <!--shutdowntomcat-->  
110             <target name="shutdowntomcat">
111                     <echo message="shutdowntomcat..."/>  
112                 <exec executable="${tomcat.home}/bin/shutdown.sh" failonerror="false"></exec>  
113                 <sleep seconds="10"/>  
114             </target>  
115               
116             <!--startuptomcat-->  
117             <target name="startuptomcat">
118                     <echo message="startuptomcat..."/>   
119                 <sleep seconds="5"/>  
120                 <exec executable="${tomcat.home}/bin/startup.sh" failonerror="false"></exec>  
121             </target>   
122          
123     </project>  

进入cmd执行ant

原文地址:https://www.cnblogs.com/zhangwenjing/p/2917387.html