在多人协作的项目中,我们常用的代码管理和版本控制系统估计就是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
本文出自 “zifangsky的个人博客” 博客,请务必保留此出处http://983836259.blog.51cto.com/7311475/1790140
Apache Ant学习总结(三):使用svnant对SVN进行操作
原文:http://983836259.blog.51cto.com/7311475/1790140