ant脚本部署war包全过程~~

最近写了一个部署打包的ant,功能真强大,自动更新svn源码,部署到Tomcat下后,重启tomcat服务器~~

其中svn运行的命令必须安装subversion~~

deploy.bat


call ant -f ./deploy.xml -debug -l deploy.log



deploy.xml

<project name="deploy" default="autodeploy" basedir=".">
 <property name="zjdd.dir" value="./ZJDD"/>
 <property name="pkgs.dir" value="./pkgs"/>
 <property environment="env" />
 <property name="tomcat.home" value="${env.TOMCAT_HOME}"/>
 <tstamp>
  <format property="deploy.time" pattern="yy-MM-dd HH.mm" />
 </tstamp>
 <target name="uptsvn">
  <echo>+ ===================================================== +</echo>
  <echo>+                                                       +</echo>
  <echo>+  updating code from svn                               +</echo>
  <echo>+                                                       +</echo>
  <echo>+ ===================================================== +</echo>

  <exec executable="svn">
   <arg line="update ${zjdd.dir} "/>
  </exec>
  <exec executable="cmd">
   <arg line="/c"/>
   <arg line="svnversion ${zjdd.dir} >>svn.txt"/>
  </exec>
  <move file="./svn.txt" todir="${zjdd.dir}/ZJDD_ZJ000_CommonLib/apps/WebContent" failοnerrοr="false"/>
 
 </target>

 <target name="ant_app" depends="uptsvn">
  <echo>+ ===================================================== +</echo>
  <echo>+                                                       +</echo>
  <echo>+  anting application to war and ear                    +</echo>
  <echo>+                                                       +</echo>
  <echo>+ ===================================================== +</echo>
  <ant dir="${zjdd.dir}/ZJDD_ZJ000_CommonLib/apps" antfile="build.xml" inheritall="off"/>
 </target>
 <target name="mv_to_pack" depends="ant_app">
  <delete dir="${pkgs.dir}\${deploy.time}" />
  <mkdir dir="${pkgs.dir}\${deploy.time}" />

  <move file="${zjdd.dir}/cbms.ear" todir="${pkgs.dir}/${deploy.time}" />
        <copy file="${zjdd.dir}/cbms.war" todir="${tomcat.home}/webapps" />
  <move file="${zjdd.dir}/cbms.war" todir="${pkgs.dir}/${deploy.time}" />
 </target>

 <target name="execute" depends="mv_to_pack">
 </target>
 
 <!--shutdown-->
    <target name="shutdown" description="========shutdowntomcat===========">
        <exec executable="${tomcat.home}/bin/shutdown.bat" failοnerrοr="false"></exec>
        <sleep seconds="1"/>
    </target>
   
    <!--startup-->
    <target name="startup" depends="shutdown" description="========startuptomcat===========">
        <sleep seconds="3"/>
        <exec executable="${tomcat.home}/bin/startup.bat" failοnerrοr="false"></exec>
    </target>
 
 <!--autodeploy-->
    <target name="autodeploy" depends="execute,startup">
    </target>
</project>


build.xml

<project name="ear" default="deploy" basedir=".">
 <property environment="env" />
 <property file="${basedir}/build.properties" />
 <property name="zjdd.dir" value="${basedir}/../.." />
 <property name="builder.dir" value="${zjdd.dir}/builder" />
 <property name="src.dir" value="${builder.dir}/src" />
 <property name="webcontent.dir" value="${builder.dir}/WebContent" />
 <property name="classes.dir" value="${webcontent.dir}/WEB-INF/classes" />
 <property name="lib.dir" value="${webcontent.dir}/WEB-INF/lib" />

 <path id="build.classpath" description="complie 's classpath">
  <fileset dir="${webcontent.dir}/WEB-INF/lib">
   <include name="*.jar" />
  </fileset>
  <pathelement location="${classes.dir}" />
 </path>

 <target name="copy-files" description="copy,java files">
  <delete dir="${builder.dir}" />
  <mkdir dir="${builder.dir}" />
  <mkdir dir="${classes.dir}" />
  <mkdir dir="${lib.dir}" />
  <mkdir dir="${webcontent.dir}/apps" />
  <mkdir dir="${src.dir}" />

  <copy todir="${src.dir}" overwrite="YES">
   <fileset dir="${zjdd.dir}/TEST/ProductCode" />
  </copy>

  <copy todir="${webcontent.dir}" overwrite="yes">
   <fileset dir="${basedir}/WebContent" excludes=".svn" />
  </copy>

  <copy todir="${webcontent.dir}/apps" overwrite="yes">

   <fileset dir="${zjdd.dir}/TEST/WebContent/app">
    <exclude name="**/*.zh" />
    <exclude name="**/*_zh.js" />
   </fileset>
  </copy>
 </target>

 <!-- compile file to sharelib -->
 <target name="compile" depends="copy-files">
  <mkdir dir="${classes.dir}" />
  <javac fork="true" memoryInitialSize="256m" memoryMaximumSize="500m" srcdir="${src.dir}" destdir="${classes.dir}" includes="**" encoding="UTF-8" debug="true">
   <classpath refid="build.classpath" />
  </javac>
  <copy todir="${classes.dir}">
   <fileset dir="${src.dir}" excludes="**/*.java" />
  </copy>
 </target>

 <!-- create the war  -->
 <target name="web-war" depends="compile" description="create war">
  <war destfile="${builder.dir}/../cbms.war" webxml="${webcontent.dir}/WEB-INF/web.xml">
   <fileset dir="${webcontent.dir}">
   </fileset>
  </war>
 </target>

 <!-- create the ear  -->
 <target name="ear" depends="web-war" description="create ear">
  <ear destfile="${builder.dir}/../cbms.ear" appxml="${basedir}/META-INF/META-INF/application.xml" duplicate="preserve">
   <fileset dir="${basedir}/META-INF" includes="**/*.*" />
   <fileset dir="${builder.dir}/..">
    <include name="cbms.war" />
   </fileset>
  </ear>
 </target>

 <target name="deploy" depends="ear">
  <echo>+ ===================================================== +</echo>
  <echo>+                                                       +</echo>
  <echo>+  Building Complete, Cleaning Temporary Files......    +</echo>
  <echo>+                                                       +</echo>
  <echo>+ ===================================================== +</echo>
  <delete dir="${builder.dir}">
  </delete>
 </target>

</project>

 

--TortoiseSVN-1.6.10

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
资源主要含以下内容: ASP项目源码:每个资源中都含完整的ASP项目源码,这些源码采用了经典的ASP技术开发,结构清晰、注释详细,帮助用户轻松理解整个项目的逻辑和实现方式。通过这些源码,用户可以学习到ASP的基本语法、服务器端脚本编写方法、数据库操作、用户权限管理等关键技术。 数据库设计文件:为了方便用户更好地理解系统的后台逻辑,每个项目中都附带了完整的数据库设计文件。这些文件通常括数据库结构图、数据表设计文档,以及示例数据SQL脚本。用户可以通过这些文件快速搭建项目所需的数据库环境,并了解各个数据表之间的关系和作用。 详细的开发文档:每个资源都附有详细的开发文档,文档内容括项目背景介绍、功能模块说明、系统流程图、用户界面设计以及关键代码解析等。这些文档为用户提供了深入的学习材料,使得即便是从零开始的开发者也能逐步掌握项目开发的全过程。 项目演示与使用指南:为帮助用户更好地理解和使用这些ASP项目,每个资源中都含项目的演示文件和使用指南。演示文件通常以视频或图文形式展示项目的主要功能和操作流程,使用指南则详细说明了如何配置开发环境、部署项目以及常见问题的解决方法。 毕业设计参考:对于正在准备毕业设计的学生来说,这些资源是绝佳的参考材料。每个项目不仅功能完善、结构清晰,还符合常见的毕业设计要求和标准。通过这些项目,学生可以学习到如何从零开始构建一个完整的Web系统,并积累丰富的项目经验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值