ant+svn+tomcat实现项目自动部署
生活随笔
收集整理的這篇文章主要介紹了
ant+svn+tomcat实现项目自动部署
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
因工作需要,研究并實現了 ant+svn+tomcat實現項目自動部署,其中參考了下面文章:http://www.cnblogs.com/taoweiji/p/3700915.html
jar包需要eclipse的jar和svn的部分jar,已整理好,直接放入ant中lib下即可。
除ant外其他所需jar包 下載地址:http://files.cnblogs.com/files/haha12/%E9%99%A4ant%E5%A4%96%E5%85%B6%E4%BB%96%E6%89%80%E9%9C%80jar%E5%8C%85.rar
完整的build.xml如下,直接執行ant命令即可實現 自動登錄svn、下載代碼、編譯、打war包、停止tomcat服務、拷貝到對應目錄、啟動tomcat服務、結束、
<?xml version="1.0" encoding="UTF-8"?> <project name="testweb" default="deploy" basedir="."> <property name="webapp.name" value="testweb"/> <property name="catalina.home" value="D:\testweb\tomcat_test"/> <property name="dist.dir" value="${basedir}"/> <property name="ant.home" value="D:\testweb\apache-ant-1.9.5" /> <property name="webRoot.dir" value="${basedir}/${webapp.name}/WebContent"/> <property name="src.dir1" value="${basedir}/${webapp.name}/src"/> <property name="src.dir2" value="${basedir}/${webapp.name}/syssrc"/> <property name="lib.dir" value="${webRoot.dir}/WEB-INF/lib"/> <property name="class.dir" value="${webRoot.dir}/WEB-INF/classes"/> <property name="svn.UserName" value="user" /> <property name="svn.UserPassword" value="pass" /> <property name="svn.URL" value="https://192.168.0.1/svn/test" /> <property name="svn.Dist" value="${basedir}/${webapp.name}" /> <!-- 目前使用執行bat命令發布 --><!-- 由于代碼有泛型,必須使用 jdt編譯,引入4個eclipse的jar即可。 --><property name="build.compiler" value="org.eclipse.jdt.core.JDTCompilerAdapter"/><!-- SVN ANT --> <path id="ant.svn.classpath"> <fileset dir="${ant.home}/lib"> <include name="*.jar" /> </fileset> </path> <taskdef name="svn" classname="org.tigris.subversion.svnant.SvnTask"> <classpath refid="ant.svn.classpath" /> </taskdef> <target name="checkout" description="checkout full web project"> <delete dir="${basedir}/${webapp.name}"/> <svn username="${svn.UserName}" password="${svn.UserPassword}"> <checkout url="${svn.URL}" revision="HEAD" destPath="${svn.Dist}" /> </svn> </target> <path id="compile.classpath"> <fileset dir="${catalina.home}/lib"> <include name="*.jar"/> </fileset> <fileset dir="${lib.dir}"> <include name="*.jar"/> </fileset> </path> <!-- 初始化,建立目錄,將多個src目錄復制到同一src目錄 depends="checkout" --> <target name="copysrc" description="將多個src目錄復制到同一src目錄" depends="checkout"> <copy todir="${src.dir1}"><fileset dir="${src.dir2}"></fileset></copy></target><target name="clean" depends="copysrc"> <delete dir="${class.dir}"/> </target> <target name="compile" depends="clean"> <mkdir dir="${class.dir}"/> <javac srcdir="${src.dir1}" destdir="${class.dir}" encoding="utf-8" source="1.6" target="1.6" nowarn="true" includeantruntime ="on"> <compilerarg value="-Xlint:unchecked "/> <!-- 就是這句話!! --><compilerarg value="-Xlint:deprecation "/> <!-- 就是這句話!! --><classpath refid="compile.classpath"/> </javac> </target> <!-- 拷貝資源文件 --><target name="copyres" depends="compile"> <copy todir="${class.dir}"><fileset dir="${src.dir1}"><exclude name="**/*.java"/></fileset></copy> </target> <!-- 生成war包 --> <target name="createwar" depends="copyres"> <delete file="${dist.dir}/${webapp.name}.war"/> <war destfile="${dist.dir}/${webapp.name}.war"> <fileset dir="${webRoot.dir}"/> </war> </target> <target name="shutdowntomcat" description="Install web application" ><echo message="正在關閉服務器。。。" /> <exec executable="${catalina.home}/bin/shutdown.bat" failonerror="false"></exec> <echo message="服務器成功關閉" /> <sleep seconds="10"/> <!-- 刪除之前解壓的war包--> <delete dir="${catalina.home}/webapps/${webapp.name}"></delete> <delete dir="${catalina.home}/webapps/${webapp.name}.war"></delete> </target><target name="startuptomcat" description="Remove web application" ><sleep seconds="10"/> <echo message="正在啟動服務器。。。" /> <exec executable="${catalina.home}/bin/startup.bat" failonerror="false"></exec> <echo message="服務器啟動成功" /> </target><!--部署到tomcat下面,如果系統有多個tomcat,不能配置系統變量:CATALINA_HOME,可以直接修改 bat文件 --> <target name="deploy" depends="createwar"> <ant target="shutdowntomcat"/> <!-- 拷貝war包--> <copy file="${dist.dir}/${webapp.name}.war" todir="${catalina.home}/webapps" /> <ant target="startuptomcat"/> </target> </project>?
轉載于:https://www.cnblogs.com/haha12/p/4708758.html
總結
以上是生活随笔為你收集整理的ant+svn+tomcat实现项目自动部署的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 网页制作之JavaScript部分3--
- 下一篇: 解决git@osc每次提交需要输入用户名