Apache Ant学习总结(三):使用svnant对SVN进行操作

在多人协作的项目中,我们常用的代码管理和版本控制系统估计就是SVN和Git了,针对SVN上的代码我们可以通过编写Ant脚本实现对SVN上的文件的管理,同时还可以实现自动从SVN下载代码并编译和发布到Tomcat中。在这里,普通的Ant脚本是不能胜任这项工作的,这时就需要用到一个辅助的项目svnant了。使用方式如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
<? 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 >

注:

  1. 关于Ant脚本的一些基础语法可以参考我的这篇文章:http://www.zifangsky.cn/444.html

  2. 如果想要了解更多的关于svnant的一些参数用法,可以参考这个网页:http://subclipse.tigris.org/svnant/svntask.html

  3. 针对从SVN上checkout下来的代码,如果想要编写Ant脚本实现自动化编译并发布到Tomcat中.




  1. 本文转自 pangfc 51CTO博客,原文链接:http://blog.51cto.com/983836259/1790140,如需转载请自行联系原作者

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值