要实现ant可以从svn服务器上检出代码要使用svnant jar文件。
从网上下载svnant 包,下载地址:
http://subclipse.tigris.org/files/documents/906/49042/svnant-1.3.1.zip
将下载好的svnant 解压将 lib目录下的所有jar复制到ant主目录中的 lib目录下。
编写build.xml
要svn task任务可以使用要在build.xml中添加
<typedef resource="org/tigris/subversion/svnant/svnantlib.xml" />
完整的xml文件如下:
<project name="dt" basedir="."> <!--定义属性--> <property name="src" value="src/main/java" /> <property name="resources" value="src/main/resources"/> <property name="test" value="test"></property> <property name="target" value="target"></property> <property name="main-target" value="target/classes"/> <property name="test-target" value="target/test-classes"/> <property name="lib-dir" value="WebContent/WEB-INF/lib"/> <property name="tomcat.home" value="D:/webapp-server/apache-tomcat-6.0.20"/> <!--ant lib目录> <property name="ant-lib-dir" value="D:/apache-ant-1.8.2/lib"/> <!-- 需指向本地tomcat lib目录 --> <property name="tomcat-lib" value="D:/webapp-server/apache-tomcat-6.0.20/lib"/> <!-- svn路径 --> <property name="urlRepos" value="svn://192.168.1.1o/Project/dt" /> <!-- 定义classpath--> <path id="classpath"> <fileset dir="${lib-dir}" includes="***.jar"></fileset> <fileset dir="${tomcat-lib}" includes="***.jar"></fileset> </path> <!-- 引用svn task文件,使用svn任务可以使用--> <typedef resource="org/tigris/subversion/svnant/svnantlib.xml" /> <!-- 清理--> <target name="clean"> <delete dir="${target}"></delete> </target> <!-- 初始化--> <target name="init" depends="clean"> <mkdir dir="${main-target}"/> <mkdir dir="${test-target}"/> </target> <!-- 设置svn相关属性 --> <svnSetting id="svn.setting" svnkit="true" username="hzl" password="111111" javahl="false" /> <!-- 检出代码 这里使用 export 不是checkout 二者区别 checkout会svn相关信息文件检出,export只是检出最新的文件--> <target name="checkout" depends="clean"> <svn refid="svn.setting"> <export srcUrl="${urlRepos}" destPath="." force="true"/> </svn> </target> <!-- 编译 --> <target name="compile" depends="checkout"> <javac srcdir="${src}" destdir="${main-target}" encoding="UTF-8" includeAntRuntime="false"> <classpath refid="classpath"></classpath> </javac> <copy todir="${main-target}"> <fileset dir="${resources}"> <exclude name="sql/**"/> </fileset> </copy> </target> <!-- 打war包 --> <target name="build" depends="compile"> <war destfile="${target}/dt.war" webxml="WebContent/WEB-INF/web.xml"> <fileset dir="WebContent"></fileset> <classes dir="${main-target}"></classes> </war> <delete dir="${main-target}"></delete> <delete dir="${test-target}"></delete> </target> <!--shutdowntomcat--> <target name="shutdowntomcat" description="========shutdowntomcat==========="> <exec executable="${tomcat.home}/bin/shutdown.sh" failonerror="false"></exec> <sleep seconds="10"/> </target> <!--startuptomcat--> <target name="startuptomcat" description="========startuptomcat==========="> <sleep seconds="5"/> <exec executable="${tomcat.home}/bin/startup.sh" failonerror="false"></exec> </target> <!--部署到tomcat下面--> <target name="deploy" depends="war"> <copy file="${target}/dt.war" todir="${tomcat.home}/webapps" /> </target> </project>