• 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

  • 相关阅读:
    Python_离线包下载地址
    JMeter_简单控制线程组(Thread Group)组件的执行顺序
    Python_pkgutil.walk_packages_查询包下所有文件
    Grafana_数据可视化工具
    Python_dir+getattr_获取模块下所有属性对象
    Jmeter_BeanShell Assertion自定义断言
    python连接数据库及使用
    python题目
    div 内容超出部分隐藏
    在C#类库中使用App.config文件自定义配置
  • 原文地址:https://www.cnblogs.com/zhangwenjing/p/2917387.html
Copyright © 2020-2023  润新知