SVNAnt 配置的入门例子
SvnAnt是一个用来与Subversion版本控制系统进行交互的一个Ant扩展,利用它可以在Ant任务中对 SVN进行操作。利用SvnAnt对SVN进行操作有以下三种方式:1. commandline方式这种方式需要安装Subversion。buid.xml文件如下:[html] viewplaincopyxml version="1.0"
SvnAnt是一个用来与Subversion版本控制系统进行交互的一个Ant扩展,利用它可以在Ant任务中对 SVN进行操作。利用SvnAnt对SVN进行操作有以下三种方式:
1. commandline方式这种方式需要安装Subversion。buid.xml文件如下:
- <?xml version="1.0" encoding="gb2312"?>
- <project basedir="." name="cowork" default="svncheckout">
- <property name="destPath" value="${basedir}" />
- <property name="svnurl" value="http://svn.xxx.com/xxx" />
- <property name="svn.username" value="username" />
- <property name="svn.password" value="password" />
- <path id="path.svnant">
- <fileset dir="${basedir}">
- <include name="**/*.jar"/>
- </fileset>
- </path>
- <typedef resource="org/tigris/subversion/svnant/svnantlib.xml" classpathref="path.svnant"/>
- <target name="svncheckout" >
- <svnSetting id="svnparams" username="${svn.username}" password="${svn.password}" javahl="false"/>
- <svn refid="svnparams">
- <checkout url="${svnurl}" destPath="${destPath}" />
- </svn>
- </target>
- </project>
依赖Jar包:svnant.jar,svnClientAdapter.jar
这里特别提醒下:
1、svnant-1.3.1自带的build.xml文件,在用svn clent模式的时候 会报:Missing 'javahl' dependencies on the classpath和Cannot find javahl, svnkit nor command line svn client,因为此bulid.xml文件中没设置javahl="false"属性。
2、另外,checkout的路径要用斜杠“/”结尾,否则可能提示:Authentication failed and interactive prompting is disabled; see the --force-interactive option
2. javahl方式
这种方式需要libsvnjavahl-1.dll,将该文件放到C:\WINDOWS\system32目录下。buid.xml文件如下:
- <?xml version="1.0" encoding="gb2312"?>
- <project basedir="." name="cowork" default="svncheckout">
- <property name="destPath" value="${basedir}" />
- <property name="svnurl" value="http://svn.xxx.com/xxx" />
- <property name="svn.username" value="username" />
- <property name="svn.password" value="password" />
- <path id="path.svnant">
- <fileset dir="${basedir}">
- <include name="**/*.jar"/>
- </fileset>
- </path>
- <typedef resource="org/tigris/subversion/svnant/svnantlib.xml" classpathref="path.svnant"/>
- <target name="svncheckout" >
- <svnSetting id="svnparams" username="${svn.username}" password="${svn.password}" javahl="true"/>
- <svn refid="svnparams">
- <checkout url="${svnurl}" destPath="${destPath}" />
- </svn>
- </target>
- </project>
可能出现的异常:Missing 'javahl' dependencies on the classpath !,原因缺少libsvnjavahl-1.dll文件
说明:libsvnjavahl-1.dll文件也可以和svnant.jar文件放到一起
3. svnkit方式
build.xml文件如下:
- <?xml version="1.0" encoding="gb2312"?>
- <!-- binding svnkit -->
- <project basedir="." name="cowork" default="svncheckout">
- <property name="destPath" value="${basedir}" />
- <property name="svnurl" value="http://svn.xxx.com/xxx" />
- <property name="svn.username" value="username" />
- <property name="svn.password" value="password" />
- <path id="path.svnant">
- <fileset dir="${basedir}">
- <include name="**/*.jar"/>
- </fileset>
- </path>
- <typedef resource="org/tigris/subversion/svnant/svnantlib.xml" classpathref="path.svnant"/>
- <target name="svncheckout" >
- <svnSetting id="svnparams" username="${svn.username}" password="${svn.password}" javahl="false" svnkit="true"/>
- <svn refid="svnparams">
- <checkout url="${svnurl}" destPath="${destPath}" />
- </svn>
- </target>
- </project>
可能出现的异常:Missing 'svnkit' dependencies on the classpath !,原因缺少svnkit-javahl.jar文件
综上所述,三种方式均依赖svnant.jar和svnClientAdapter.jar;其中svnant.jar定义了Ant任务及与SVN交互的接口,它通过svnClientAdapter.jar适配以上三张交互方式。三种方式的主要区别如下:
| 依赖对象 | 参数 |
comandline | 安装Subversion, svnant.jar,svnClientAdapter.jar | javahl="false" |
javahl | libsvnjavahl-1.dll, svnant.jar,svnClientAdapter.jar,svnjavahl.jar | javahl="true" |
svnkit | svnant.jar,svnClientAdapter.jar,svnkit.jar, svnkit-javahl.jar | javahl="false", svnkit="true" |
资源下载:
1. 下载svnant压缩包,获取svnant.jar,svnClientAdapter.jar,svnjavahl.jar,svnkit.jar
2. 下载svn的eclipse插件包,从中获取libsvnjavahl-1.dll
3. 下载svnkit压缩包,获取svnkit-javahl.jar
原文地址:http://blog.csdn.net/zh2qiang/article/details/6795823
更多推荐
所有评论(0)