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

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

<?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中,可以参考下我的这篇文章:http://www.zifangsky.cn/449.html
时间: 2024-08-25 17:51:48

Apache Ant学习总结(三):使用svnant对SVN进行操作的相关文章

Apache Ant学习总结(一):Ant自动化脚本入门以及一些常用命令介绍

一 Ant简介 Apache Ant是一个将软件编译.测试.部署等步骤联系在一起加以自动化的一个工具,大多用于Java环境中的自动化构建.它是Apache软件基金会JAKARTA目录中的一个子项目,它有以下的优点: 跨平台性.Ant是纯Java语言编写的,所以具有很好的跨平台性 操作简单.Ant是由一个内置任务和可选任务组成的.Ant运行时需要一个XML文件(构建文件). Ant通过调用target树,就可以执行各种任务.由于Ant构建文件 是XML格式的文件,所以很容易维护和书写,而且结构清晰

Apache Ant学习笔记(3):在eclipse中使用Apache Ant

在eclipse中使用Apache Ant是很简单的,因为eclipse本身就集成了Apache Ant.以下是一个Hello World. 1.创建一个工程test,如下: 2.在工程根目录之下创建一个build.xml文件,eclipse将自动识别并将它标记为Apache Ant的构建文件,如下: 3.打开build.xml,这时文件中没有内容,需要根据自己的需求编写构建文件 4.编写构建文件,简要编写如下: 5.打开Outline视图,在此视图中显示了build.xml文件的元素结构,可见

Apache Ant学习笔记(2):Apache Ant命令行

Apache Ant的命令行是Apache Ant构建的基础.虽然我们通常在IDE中集成Apache Ant并使用它进行构建,但是了解Apache Ant的命令行对我们在IDE中使用Apache Ant还是很有好处的,如对IDE中Apache Ant的默认设置进行修改以符合自己的要求.此外,还是有用到命令行的场景,虽然很少. 进入命令行,输入ant -help,显示如下(括弧中的文字是选项的注释): ant [options] [target [target2 [target3] ...]] O

Apache Ant学习笔记(1):了解Ant

1.软件构建 软件构建是将程序的源文件转换成可以直接使用的应用程序或应用程序组件的过程.软件构建过程涉及到一些我们很熟悉的操作如文件/文件夹操作.编译.测试.打包.部署.发布等. 以下描述一个简单的软件构建过程:首先会创建一系列文件夹来存放一系列的源文件和资源文件等文件:在源文件编写完成之后,对它进行编译(出错的情况下还会进行调试).测试(单元测试):在程序的所有源文件都编写完成之后,对所有源文件进行测试:测试完成之后,在没有发现错误的情况下,将编译生成的目标文件和相关的资源文件进行打包生成打包

Apache Ant学习总结(二):使用Ant自动编译JavaWeb项目并打成war包发布到Tomcat中

前言:如题所示,有时我们可能经常需要把JavaWeb项目进行编译,然后打包成war包并发布到Tomacat中进行测试.如果每次都人工进行操作的话,无疑是很麻烦的.这时我们可以通过编写一个自动化的Ant脚本,每次需要发布项目时只需要点击一下就可以完成了,非常方便 测试项目的项目结构如下: Ant脚本build_war.xml: <?xml version="1.0" encoding="UTF-8"?> <project name="ant

转 Apache Ant 实现自动化部署

Apache Ant 实现自动化部署 Apache Ant 实现自动化部署 http://www.netkiller.cn/journal/java.ant.html Mr. Neo Chen (陈景峯), netkiller, BG7NYT 版权声明 转载请与作者联系,转载时请务必标明文章原始出处和作者信息及本声明. 文档出处: http://netkiller.github.io http://netkiller.sourceforge.net 微信扫描二维码进入 Netkiller 微信订

学习Mahout(三)

开发+运行第一个Mahout的程序 代码: /** * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF lice

Ant学习-001-ant 基础知识及windows环境配置

一.Ant 概要基础知识 Apache Ant 是一个将软件编译.测试.部署等步骤联系在一起加以自动化的一个工具,大多用于Java环境中的软件开发,用以构建应用,或结合其他开源测试工具例如 git.TestNG等搭建持续集成测试开发环境,从而高效.高质量的构建产品. Ant 有以下一些优点: 跨平台,可移植.Ant 是 Java 语言编写的,所以有很好的跨平台性和可移植性,无论是在 windows.Linux,还是 mac. 操作简单. Ant 是由一个内置任务和可选任务组成的,运行时需要一个构

JavaWeb学习总结(三)——Tomcat服务器学习和使用(二) 包含https 非对称秘钥 NB

JavaWeb学习总结(三)--Tomcat服务器学习和使用(二) 一.打包JavaWeb应用 在Java中,使用"jar"命令来对将JavaWeb应用打包成一个War包,jar命令的用法如下: 范例:将JavaWebDemoProject这个JavaWeb应用打包成war包 执行完之后,就可以得到一个文件,平时开发完JavaWeb应用后,一般都会将JavaWeb应用打包成一个war包,然后将这个war包放到Tomcat服务器的webapps目录下,当Tomcat服务器启动时,就会自动