原文链接:http://blog.csdn.net/nmgrlq/article/details/5372680
ANT如果想与SVN服务器打交道,必须使用插件SvnAnt .SvnAnt 是Apache 组织采用JAVA语言开发的一个ANT插件.
下载地址:http://subclipse.tigris.org/svnant.html.
针对不同的SVN版本下载不同版本的SvnAnt .我们采用的是SVN1.4.4,所以我下载了svnant-1.1.0-RC2.
解压后把lib下的几个JAR包都拷贝到ANT的lib下就可以了.
然后就可以在ANT任务中调用了:
我在前期参照网上资料配置的时候,一切看似没什么问题,但是执行的时候总是报 authentication cancelled 如下:
E:/build>ant
Buildfile: E:/build/build.xml
checkoutLatest:
[svn] <Export> started ...
[svn] svn: authentication cancelled
[svn] <Export> failed !
BUILD FAILED
E:/build/build.xml:16: Can't export
Total time: 0 seconds
authentication cancelled 验证取消!
从网上查阅了大量资料,也没能解决,也参照了官网给的示例.但都没有解决.
今天早上参照了http://old.nabble.com/svnant-and-authentication-td17865407.html资料.
发现自己的一个参数没有配置:javasvn="false"
配置了此参数,果然可以了
E:/build>ant
Buildfile: E:/build/build.xml
export:
[svn] <Export> started ...
[svn] <Export> finished.
BUILD SUCCESSFUL
Total time: 3 seconds
javahl and javasvn 两个参数类型都是booleans,默认都是true.这两个参数都是用来指定选择哪种客户端用来与SVN存取数据的.
SvnAnt 提供三种方式用来与SVN交互的:1、JavaHL;2、JavaSVN; 3、Command Line Interface.
如果 javahl = "true" 并且 JavaHL 帮定可用, 则使用 JavaHL ;如果 javasvn ="true" 并且有JavaSVN , 则使用JavaSVN ;如果 javahl 和javasvn两种方式由于某些原因都失败了,则使用 Command Line Interface 方式.
详细了解这三种方式,请参照SVN官方svnClientAdapter.jar
虽然官方指出javahl 优先级别高于javasvn,但是如果想使用javahl 方式,还是得明确指出javasvn="false"
否则会报authentication cancelled 的错误!
特别说明:本人转载文章纯为技术学习,总结经验,并无其他目的,若有他人继续转载,请链接原作者的地址,而不是本文的地址,以示对作者的尊重。最后对原作者的辛勤劳动表示感谢!