在开发过程中,经常需要将修改后的代码同步更新到测试服务器上测试,但每次从svn上面将代码同步打包上传都需要好几个步奏,如果在这个过程中被打断,又会浪费不少时间。在使用Ant工具可以简化流程,节约不少时间。

Ant版本:apache-ant-1.9.3

    整个过程比较简单,主要用到jsch-0.1.51jar和scp。将jsch-0.1.51.jar包直接复制到apache-ant-1.9.3\lib目录下,将scp的trust设置true。


<?xml version="1.0" encoding="UTF-8"?>  

<project name="test" default="update" basedir=".">  

    <property name="src.dir" value="${basedir}\WebContent\" />  

    <property name="class.dir" value="${basedir}\WebContent\WEB-INF\class" />  

    <property name="lib.dir" value="${basedir}\WebContent\WEB-INF\lib" />  

    <property name="conf.dir" value="${basedir}\WebContent\WEB-INF\config" />  

    <property name="package.dir" value="${basedir}\dist" />  

    <property name="programName" value="test" />  

  

    <property name="address" value="服务器地址:项目安置路径" />  

    <property name="user" value="服务器登录名" />  

    <property name="password" value="密码" />  

  

    <target name="init" description="初始化环境">  

        <echo message="初始化目录" />  

        <delete dir="${package.dir}" />  

        <mkdir dir="${package.dir}" />  

    </target>  

  

<!-- 将class文件打成 jar包 -->  

    <!--    

       <target name="package" depends="init" description="打jar包">  

        <echo message="将class文件打包,输出到${package.dir}" />  

        <jar basedir="${class.dir}" jarfile="${package.dir}\${programName}.jar" />  

    </target>   

    -->


<!-- 将项目打成war包 -->

    <target name="package" depends="init" description="打war包">  

        <echo message="将src打包,输出到${package.dir}" />  

        <jar basedir="${src.dir}" jarfile="${package.dir}\${programName}.war" />  

    </target>  


 <!-- 将war包上传到服务器 -->         

    <target name="update" depends="package" description="上传">  

        <echo message="将war上传服务器" />  

        <scp file="${package.dir}\${programName}.war"             todir="${user}:${password}@${address}"    

            trust="true" verbose="true"/>  

        <echo message="上传完毕" />  

    </target>  

  

</project> 

注:项目路径和服务器地址的设置请按照实际情况!