在多人协作的项目中,我们常用的代码管理和版本控制系统估计就是SVN和Git了,针对SVN上的代码我们可以通过编写Ant脚本实现对SVN上的文件的管理,同时还可以实现自动从SVN下载代码并编译和发布到Tomcat中。在这里,普通的Ant脚本是不能胜任这项工作的,这时就需要用到一个辅助的项目svnant了。使用方式如下:
- 下载最新的svnant的jar包,并添加到Ant的lib目录下。下载链接:http://subclipse.tigris.org/svnant.html
- 使用svnant操作SVN上的文件示例如下:
<?xml version="1.0" encoding="UTF-8"?> <project name="test" default="commit" basedir="."> <property name="svn-url" value="svn://192.168.1.100/xxxx/branches/T20160422" /> <property name="svnant_dir" value="D:\\apache-ant-1.9.7\\lib" /> <property name="svn.user" value="admin" /> <property name="svn.password" value="admin" /> <tstamp> <format property="buildtime" pattern="yyyy-MM-dd-HH:mm:ss"/> </tstamp> <path id="svnant.classpath"> <!-- 定义一个PATH元素,告诉ANT 到哪找SVNANT的类库 --> <pathelement location="${svnant_dir}/svnant.jar" /> <!-- SVNANT顶层包 --> <pathelement location="${svnant_dir}/svnClientAdapter.jar" /> <!-- SVNANT 与SVN通讯的适配器包 --> <pathelement location="${svnant_dir}/svnjavahl.jar" /> <!-- SVNANT与SVN 通讯的JAVA BRIDGE包 --> <!-- ... --> </path> <typedef resource="org/tigris/subversion/svnant/svnantlib.xml" classpathref="svnant.classpath" /> <!--引用 svnantlib.xml ,其中定义了ANT的SVN命令,见下方详解。 --> <svnSetting javahl="false" svnkit="true" username="${svn.user}" password="${svn.password}" id="svn.settings" /> <!-- checkout --> <target name="checkout"> <svn refid="svn.settings"> <!--引用上面定义的svnSetting ,新的设置SVN属性方式 --> <checkout recurse="true" url="${svn-url}" destPath="test1" /> </svn> <echo message="checkout success" /> </target> <target name="commit" depends="checkout"> <!-- 清空所有 --> <svn refid="svn.settings"> <delete> <fileset file="test1/*" /> </delete> <commit dir="test1" message="清空 ${buildtime}"/> </svn> <echo message="delete success" /> <!-- 复制文件 --> <copy todir="test1/addtest"> <fileset dir="addtest"/> </copy> <echo message="copy success" /> <!-- 提交 --> <svn refid="svn.settings"> <add dir="test1/addtest"/> <commit dir="test1" message="测试提交 ${buildtime}"/> </svn> <echo message="commit success!" /> </target> </project>
注:
- 关于Ant脚本的一些基础语法可以参考我的这篇文章:http://www.zifangsky.cn/444.html
- 如果想要了解更多的关于svnant的一些参数用法,可以参考这个网页:http://subclipse.tigris.org/svnant/svntask.html
- 针对从SVN上checkout下来的代码,如果想要编写Ant脚本实现自动化编译并发布到Tomcat中,可以参考下我的这篇文章:http://www.zifangsky.cn/449.html
时间: 2024-11-04 07:54:39