`
michales003
  • 浏览: 403063 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

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

    博客分类:
  • J2EE
阅读更多

最近写了一个部署打包的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" failonerror="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" failonerror="false"></exec>
        <sleep seconds="1"/>
    </target>
   
    <!--startup-->
    <target name="startup" depends="shutdown" description="========startuptomcat===========">
        <sleep seconds="3"/>
        <exec executable="${tomcat.home}/bin/startup.bat" failonerror="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

分享到:
评论
1 楼 方块石 2011-10-12  
老兄,解压的要输入内容,是啥子

相关推荐

    java利用Ant脚本生成war包全过程

    总结来说,Java利用Ant脚本生成WAR包是一个标准化的过程,涉及源代码的编译、资源文件的组织、依赖库的管理以及最终的打包操作。通过配置和定制Ant脚本,可以适应不同项目的需求,实现高效、可靠的自动化构建。

    各服务器部署war

    【标题】"各服务器部署WAR"涉及的知识...以上就是关于“各服务器部署WAR”的核心知识点,涵盖了从WAR文件的生成、服务器环境准备到实际部署的全过程。理解和掌握这些知识点对于有效地管理和维护Java Web应用至关重要。

    ant打包编译全套资料

    Ant是Apache软件基金会下的一个项目,它是一款Java语言编写的构建工具,被广泛应用于Java项目的构建、测试和部署过程。Ant以其灵活性和可扩展性,通过XML格式的构建文件(build.xml)来定义任务,使得开发者能够自动...

    用Ant实现Java项目的自动构建和部署

    博文链接(已给出但无法直接访问)可能提供了如何在实际项目中设置和使用Ant的教程,包括创建build.xml文件,定义任务,以及如何运行Ant脚本进行自动构建和部署。 总结来说,Ant是Java项目自动化构建的重要工具,...

    服务器 使用脚本打包编译java项目

    3. **构建过程**:执行`build.sh`脚本,这个脚本调用Ant的`build.xml`来编译源代码,执行单元测试,并生成可部署的JAR或WAR包。 4. **服务器管理**:使用`startserver.sh`和`server.sh`脚本来启动、停止或重启...

    Java Development with Ant.pdf

    例如,可以演示如何从零开始构建一个完整的Java Web应用,包括编写源代码、编写测试用例、构建、打包以及部署到服务器等全过程。 **Ant在开发项目中的应用** 在大型Java开发项目中,Ant的应用非常广泛。它可以极大...

    基于glassfish的EJBDemo,包含打包脚本,包含客户端

    **基于Glassfish的EJB...总结,基于Glassfish的EJBDemo是一个完整的EJB开发实践案例,涵盖了从设计、实现到部署的全过程。通过学习和实践这个Demo,开发者可以提升在Java EE领域的专业技能,更好地理解和应用EJB技术。

    Jmeter+ant+Jenkins集成接口自动化测试说明.docx

    通过以上步骤,我们建立了一个完整的接口自动化测试流程,涵盖了从环境准备、脚本编写到持续集成的全过程。这种集成不仅提高了测试效率,还确保了每次代码变更后都能及时发现潜在问题,从而提升软件质量。

    was v6最全的安装,部署,调试文档

    4. 应用部署:通过管理控制台或Ant脚本将WAR、EAR或EJB JAR文件部署到服务器上,设置类加载器顺序、安全策略和资源连接池。 5. 配置集群:为了提高可用性和负载均衡,可以将多个服务器配置为一个集群,共享应用程序...

    ant的配置文件build.xml

    总结,`build.xml`是Ant的核心,它通过XML描述了项目构建的全过程,包括源代码的编译、打包、测试和部署等步骤。理解并熟练掌握`build.xml`的编写,对于有效地管理和自动化Java项目的构建至关重要。通过合理配置,...

    jenkins配置.docx

    - **全脚本构建**:如果不需要手动部署war,可以编写更简洁的`server+tomcat.sh`脚本,仅包含停止、启动和重启操作。 9. **多台服务器构建**: - 对于多台服务器的部署,可以通过SSH进行远程操作。 - **配置SSH*...

    基于axis的Webservice开发流程

    6. **构建Ant脚本**:创建一个`build.xml`文件,它是Ant构建工具的配置文件。该文件定义了如何编译源代码,打包成aar文件,并将aar文件部署到Web服务器。它包含了指向Axis2库的路径以及编译和打包的目标。 7. **...

    weblogic自学全套教程

    WebLogic支持多种部署方式,如使用控制台、命令行或者Ant脚本。将WAR、EAR或EJB JAR文件上传到部署区域,设置相关部署属性后,可以进行部署。部署完成后,可以在控制台查看应用状态和性能指标。 四、WebLogic集群...

    axis_webservice_接口文档

    总的来说,这个接口文档是关于如何使用SOAP和AXIS2创建Web服务的教程,涵盖了从下载AXIS2、部署服务到处理SOAP请求和响应的全过程。对于需要理解和使用SOAP服务的开发者来说,这是一个非常实用的参考资料。

    dwr-2.0.2-src.zip

    8. `dwr.war`:Web应用程序归档文件(WAR),可以被直接部署到支持Java Servlet的Web服务器上。 9. `pom.xml`:这是Maven的项目对象模型(POM)文件,包含了项目依赖、构建配置和插件等信息,用于自动化构建和管理...

    精通struts基于MVC的java web设计与开发(代码全六netstore下).rar

    4. **部署配置**:`build.xml`文件通常是一个Ant构建脚本,用于自动化构建过程,包括编译源代码、打包和部署。在Struts项目中,它可能包含了编译、创建WAR文件和部署到服务器的相关任务。 5. **ejb**:`deployejb`...

    hudson安装及使用手册

    总结来说,【Hudson安装及使用手册】旨在为读者提供从零开始的Hudson实践指导,涵盖了从环境准备到项目管理的全过程。通过深入理解和实践这份手册,用户能够有效地利用Hudson实现持续集成,提升软件开发的效率和质量...

    apache-tomcat-7.0.107-windows-x64

    此外,还可以通过Apache Ant或Maven构建工具自动化部署过程。 标签"jar"提示我们关注的是Java Archive文件,这是Java平台的一种归档格式,用于封装多个类文件和其他资源。在Tomcat中,JAR文件通常包含Servlet或JSP...

Global site tag (gtag.js) - Google Analytics