准备:
1、下载svnant-1.3.1,然后将其lib目录下的jar文件拷贝到ant的lib下,或者自己的目录(在build.xml文件中指定这些jar文件的路径即可),主要包括svnant.jar、svnClientAdapter.jar、svnjavahl.jar、svnkit.jar
2、下载svnkit-1.8.1,将其lib目录下的svnkit-javahl16-1.8.1.jar拷贝到svnkit.jar的目录(也可下载其它版本,这里用到的主要是svnkit-javahl16-1.8.1.jar这个文件)
该包及svnkit.jar包用于svnkit方式
3、下载libsvnjavahl-1.dll,放到svnant.jar的目录或者C:\WINDOWS\system32目录下
此文件及svnjavah.jra用于javahl方式
方式一:commandline方式,需要安装svn客户端。buid.xml文件如下:
<?xml version="1.0"?> <project name="svn-test" basedir="." default="run"> <property file="build.properties" /> <path id="path.svnant"> <pathelement location="${svnant.jar}" /> <pathelement location="${svnClientAdapter.jar}" /> </path> <typedef resource="org/tigris/subversion/svnant/svnantlib.xml" classpathref="path.svnant"/> <svnSetting id="svn.setting" svnkit="false" javahl="false" username="${svnant.repository.user}" password="${svnant.repository.passwd}" /> <target name="checkoutLatest"> <svn refid="svn.setting"> <!--checkout url="http://svn.apusic.net/aesb/cluster/trunk/src/engine/apusic-esb-test-server/anttool/product-config" revision="HEAD" destPath="${basedir}/config/" /> --> <export srcUrl="http://svn.apusic.net/aesb/cluster/trunk/src/engine/apusic-esb-test-server/anttool/product-config/dirs" revision="HEAD" destpath="${basedir}/config/" /> </svn> </target> </project>
依赖Jar包:svnant.jar,svnClientAdapter.jar
方式二: javahl方式
该方式需要libsvnjavahl-1.dll,将该文件放到C:\WINDOWS\system32目录下或者svnant.jar同目录。buid.xml文件如下:
<?xml version="1.0"?> <project name="svn-test" basedir="." default="run"> <property file="build.properties" /> <path id="project.classpath"> <pathelement location="${svnjavahl.jar}" /> <pathelement location="${svnant.jar}" /> <pathelement location="${svnClientAdapter.jar}" /> </path> <typedef resource="org/tigris/subversion/svnant/svnantlib.xml" classpathref="project.classpath"/> <svnSetting id="svn.setting" svnkit="false" javahl="true" username="${svnant.repository.user}" password="${svnant.repository.passwd}" /> <target name="checkoutLatest"> <svn refid="svn.setting"> <checkout url="http://svn.apusic.net/aesb/cluster/trunk/src/engine/apusic-esb-test-server/anttool/product-config" revision="HEAD" destPath="${basedir}/product-config/" /> </svn> </target> </project>
依赖Jar包:svnant.jar,svnClientAdapter.jar,svnjavahl.jar。
可能出现的异常:Missing 'javahl' dependencies on the classpath !,原因缺少libsvnjavahl-1.dll文件
本人试验时无论将libsvnjavahl-1.dll放到哪里,均无法正确执行下载任务,暂时未找到原因
方式三:svnkit方式
build.xml文件如下:
<?xml version="1.0"?> <project name="svn-test" basedir="." default="run"> <property file="build.properties" /> <path id="project.classpath"> <pathelement location="${svnant.jar}" /> <pathelement location="${svnClientAdapter.jar}" /> <pathelement location="${svnkit.jar}" /> <pathelement location="${svnkitjavahl.jar}" /> </path> <typedef resource="org/tigris/subversion/svnant/svnantlib.xml" classpathref="project.classpath"/> <svnSetting id="svn.setting" svnkit="true" javahl="false" username="${svnant.repository.user}" password="${svnant.repository.passwd}" /> <target name="checkoutLatest"> <svn refid="svn.setting"> <checkout url="http://svn.apusic.net/aesb/cluster/trunk/src/engine/apusic-esb-test-server/anttool/product-config" revision="HEAD" destPath="${basedir}/product-config/" /> <!--<export srcUrl="http://svn.apusic.net/aesb/cluster/trunk/src/engine/apusic-esb-test-server/anttool/product-config" revision="HEAD" destpath="${basedir}/product-config/" /> --> </svn> </target> </project>
依赖Jar包:svnant.jar,svnClientAdapter.jar,svnkit.jar,svnkit-javahl.jar
可能出现的异常:Missing 'svnkit' dependencies on the classpath !,原因缺少svnkit-javahl.jar文件