`

ant学习之集成svn

    博客分类:
  • ant
阅读更多
今天想通过ant任务从svn中下载文件,由于build.xml想在任意一台机器上随意使用,所以在每台机器上都按照svn不太实际,今天查了下资料,发现可以通过javahl或者svnkit来执行,下面对ant集成svn的方式进行介绍。本文主要参考http://blog.csdn.net/zh2qiang/article/details/6795823

准备:
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文件
分享到:
评论

相关推荐

    Ant+Junit+Svn实现自动单元测试

    【Ant+JUnit+Svn实现自动单元测试】 Ant是一种流行的Java构建工具,它使用XML格式的构建文件(build.xml)来定义一系列的任务,如编译、打包、测试等,以自动化软件开发过程。Ant的主要优点是它的灵活性和可扩展性...

    Jenkins+SVN+Ant持续集成环境配置笔记.pdf

    在Eclipse中集成SVN通常需要借助于外部插件,比如TortoiseSVN或CSVN。TortoiseSVN是一款Windows平台下的SVN客户端,具有图形用户界面,操作简便,可以直接在文件资源管理器中操作。而CSVN则是基于命令行的客户端工具...

    ant操作SVN的jar包

    "ant操作SVN的jar包"指的是在Ant构建过程中集成SVN功能,这通常需要引入特定的jar包,例如`svnant-1.1.0-RC2`。`svnant`是Ant的一个任务库,它提供了与SVN交互的能力,允许你在Ant脚本中执行诸如checkout(检出)、...

    Jenkins+SVN+Ant持续集成环境配置笔记

    ### Jenkins+SVN+Ant持续集成环境配置笔记 #### 一、引言 随着软件开发项目的日益复杂化,持续集成(Continuous Integration, CI)已成为现代软件工程中的一个重要组成部分。通过持续集成,团队能够频繁地集成代码...

    ant 脚本从svn上取代码打包代码全,同时包括相关的jar包

    在Java开发过程中,Ant广泛用于自动化构建流程,尤其是在没有使用集成开发环境(IDE)时。在给定的场景中,"ant 脚本从svn上取代码打包代码全,同时包括相关的jar包",这意味着我们需要了解如何用Ant配合Subversion...

    antsvn更新打包部署提交自动化

    8. **Subversion操作**:Ant也可以与SVN进行集成,例如使用`&lt;svn&gt;`任务执行更新、提交、检出等操作,实现版本控制自动化。 9. **目标和依赖关系**:Ant的构建流程是由一系列目标构成的,每个目标可以依赖于其他目标...

    ant相关-svn-分支

    描述中提到“如果你准备做air或是android的自动集成”,暗示了我们将讨论如何使用Ant来实现Adobe AIR或Android应用的持续集成,并结合SVN管理不同开发分支。Adobe AIR允许开发者创建跨平台的桌面和移动应用程序,而...

    cruisecontrol、ant、svn持续集成

    ### cruisecontrol、ant、svn持续集成 #### 一、概述 持续集成(Continuous Integration, CI)是一种软件开发实践,旨在通过频繁地将代码合并到共享的主分支,并自动化地进行构建和测试,来提高软件质量和减少集成...

    SVN+ant 服务器代码打包编译流程详解,内含详细安装以及操作说明

    在这个SVN+ant服务器代码打包编译流程中,我们将深入探讨这两个工具的集成使用,以及如何通过build.xml和build.properties文件实现自动化编译。 首先,让我们了解SVN的安装和配置。在Windows上,你可以下载...

    ant打包的代码,包括从svn上获取代码

    在描述中提到的"自动下载代码"这一环节,就是利用Ant与SVN的集成,通过Ant的任务或插件(如`subversion`任务)从SVN仓库拉取最新的源代码。 打包是软件开发过程中一个重要的步骤,它通常包括编译、测试和创建最终的...

    Ant SVN依赖JAR包

    在Java开发过程中,Apache ...通过以上步骤,你可以在Ant构建脚本中集成SVN功能,方便地进行版本控制操作。这有助于简化开发流程,提高团队协作效率。请确保正确配置所有依赖,并始终备份好你的源代码,以防意外丢失。

    Ant+Svn打包Web工程

    本主题将深入探讨如何结合Apache Ant和Subversion(Svn)来打包Web工程,这是一个常见的开发实践,尤其对于Java Web项目而言。首先,让我们理解这两个工具的核心概念。 **Apache Ant** 是一个Java库和命令行工具,...

    ant svn插件jar包

    在软件开发过程中,版本控制工具Subversion(SVN)被广泛用于...通过学习和掌握这个插件的使用,你可以更加高效地整合Ant和SVN,从而提升团队的开发效率和代码质量。对于大型项目或团队协作,这种集成显得尤为重要。

    svn ant cvs

    通过Ant,你可以创建自定义的构建流程,例如编译源代码、运行单元测试、生成Javadoc,甚至可以集成其他工具,如svn。 将svn与ant结合使用,可以实现自动化的工作流。例如,在构建过程中,Ant任务可以调用svn命令来...

    Ant & SVN task script

    #### 三、Ant与SVN的集成 ##### 1. 使用Ant进行SVN操作 Ant提供了一系列内置的SVN任务,这些任务可以帮助开发者轻松地执行SVN操作,如更新、提交、分支、合并等。这些任务都是通过调用SVN客户端工具来实现的,因此...

    ant+svn的测试框架

    这篇博文链接虽然没有提供具体的内容,但通常会介绍如何集成Ant和SVN来创建一个测试框架,特别是在Android应用开发中。Android测试框架通常包括单元测试、功能测试和UI测试,目的是确保代码质量并发现潜在问题。 在...

    jenkins-svn+ant插件(含依赖).zip

    一旦插件安装成功,我们就可以配置Jenkins作业来集成SVN和Ant。创建新作业时,选择“自由风格项目”,在源码管理部分配置SVN的URL,然后在构建步骤中添加调用Ant的指令,指定build.xml文件的位置和目标。 通过这种...

    CruiseControl + ANT +SVN

    【CruiseControl + ANT + SVN】是一个集成开发环境(IDE)自动化构建和版本控制的解决方案。这个组合在软件开发过程中发挥着关键作用,确保代码的持续集成和版本管理。下面将详细阐述这三个组件以及它们如何协同工作...

Global site tag (gtag.js) - Google Analytics