`

使用ant自动更新svn,编译,提交svn

    博客分类:
  • ant
 
阅读更多

最近转行到数据库上面,开始做数据库相关工作.每天需要生成数据库->实体

而且要导入svn.这样重复的劳动,经常让人受不了.

为了方便,研究了一下ant,发现可以使用这个工具,自动上传svn,很是方便

废话不多说,开工啦

1. 从网上下载svnant 包(我的是svn1.6,目前svnant最高只支持1.6了,1.7的就用别的代替吧,我还没研究过),下载地址:

http://subclipse.tigris.org/files/documents/906/49042/svnant-1.3.1.zip

将下载好的svnant 解压将 lib目录下的所有jar复制到ant主目录中的 lib目录下。

2.编写build.xml

要svn task任务可以使用要在build.xml中添加

 

<typedef resource="org/tigris/subversion/svnant/svnantlib.xml" />  

 代码如下:

 

为了减少修改,我们最好使用properties

我这里命名为build.properties,其实可以随意命名的

将一些东西放在这里,减少修改build.xml

 

##这里放你的项目名称,所谓生成jar名称
prop.project.name=ctasdto
##ant位置
ant.path=D:/apache-ant-1.8.2/lib
##服务器位置
server.path=D:/webapp-server/apache-tomcat-6.0.20
## 你放jar的位置啦
dto.path=D:/work/XXX/output
## 你的svn路径
svn.url=https://XXXX/svn/
## SVN用户名
svn.user=xiaoxiao
## SVN密码
svn.passwd=password

 下面的是build.xml内容了

 [因为还需要生成文件,所以使用eclipse自带的编译,这里只打包,上传]

 

<?xml version="1.0" encoding="gbk"?>

<project name="ctasdto" default="svn"  basedir=".">
    <!-- 加载Property文件中的内容,大部分需要修改的内容都放到Property文件中 -->
	<property resource="build.properties" />
	<property name="project.name" value="${prop.project.name}"/>
	<property name="src.dir" value="src" />
	<property name="classes.dir" value="classes"/>
	<property name="javadoc.dir" value="docs"/>
	<property name="obj.dir" value="${prop.dto.path}"/>
	<property name="jar.name" value="${prop.project.name}.jar"/>
	<property name="lib.dir" value="lib"/>
	<property name="svn.url"           value="${prop.svn.url}"/>
	<property name="svn.user"          value="${prop.svn.user}"/>
	<property name="svn.passwd"        value="${prop.svn.passwd}"/>
	<tstamp>
		<format property="buildtime"  pattern="yyyy-MM-dd-HH:mm:ss"/>
	</tstamp>
        <typedef resource="org/tigris/subversion/svnant/svnantlib.xml" />
        <!-- 设置svn相关属性 -->  
        <svnSetting id="svn.setting" svnkit="true" username="${svn.user}" password="${svn.passwd}"  javahl="false" />  
	<target name="svn.update" description="更新本地工程,以便后续编译">
		<echo>更新${obj.dir}中的所有信息</echo>
		<svn refid="svn.setting">  
            <checkout url="${svn.url}" destPath="${obj.dir}" force="true"/>  
        </svn>  
	</target>
	<target name="clear" depends="svn.update" description="删除DTO文件,之后会重新生成">
	 <delete file="${obj.dir}\${jar.name}"/>
	</target>
	<target name="copyfile" depends="clear" description="拷贝源文件到classes中">
		<copy todir="${classes.dir}">
		   <fileset dir="${src.dir}">
  <!--排除列表-->
		   	<exclude name="**/**"/>
		   	</fileset>	
		</copy>
		</target>
	<target name="build" depends="copyfile" description="包装成jar文件" >
		<jar jarfile="${obj.dir}/${jar.name}" basedir="${classes.dir}" >
             <!--这里写要加入文件位置-->
			<include name="**/**"/>
			<include name="config/databaseconfig/**"/>
			<manifest>
				<attribute name="Project-Name" value="${project.name}"/>
				<attribute name="Project-Version" value="1.0"/>
				<attribute name="Project-BuildTime" value="${buildtime}"/>
			</manifest>
		</jar>
	</target>
	<target name="svn" depends="svn.update,clear,copyfile,build" description="上传svn">
		<svn refid="svn.setting">
			<commit file="output/${jar.name}" message="自动提交最新的dto.jar  ${buildtime}"/>
		</svn>
	</target>
		
</project>

 

 

 

分享到:
评论

相关推荐

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

    标题中的“antsvn更新打包部署提交自动化”涉及的是在软件开发过程中如何利用Ant(一个Java构建工具)和Subversion(SVN,版本控制系统)实现自动化的构建、更新、打包、部署和提交流程。这个过程旨在提高开发效率,...

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

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

    利用ant脚本 自动构建svn增量.docx

    【Ant脚本自动构建SVN增量】是一种高效且节省资源的软件开发实践,它使得开发和测试团队能够自动化处理从代码提交到构建、打包、再到部署的整个过程。使用Ant,一个基于XML的构建工具,可以创建可重复执行的脚本来...

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

    总的来说,这个场景涉及到Ant脚本的基本使用,包括执行外部命令(如SVN)、编译源码、管理类路径以及打包成JAR。在实际开发中,Ant脚本可以被定制以满足各种复杂的构建需求,确保项目的构建过程自动化、可重复且高效...

    ant学习之集成svn

    4. 自动化工作流:结合Ant的其他任务,如编译、测试和打包,可以创建一个完整的自动化工作流,其中包括从SVN仓库获取最新代码,执行构建,然后如果一切顺利,将变更提交回去。 5. 错误处理和日志记录:确保在执行...

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

    Ant是一种流行的Java构建工具,它使用XML格式的构建文件(build.xml)来定义一系列的任务,如编译、打包、测试等,以自动化软件开发过程。Ant的主要优点是它的灵活性和可扩展性,可以根据项目的特定需求定制构建流程...

    ant获取SVN版本信息的jar包xmltask以及安装,使用方法

    总的来说,结合Ant、XMLTask和SVN,我们可以创建一个自动化流程,不仅能够获取SVN版本信息,还能根据这些信息进行进一步的操作,如报告、测试或构建控制。这个过程体现了构建工具的强大和灵活性,也展示了Java生态...

    ant相关-svn-分支

    接着,`svnant.jar`是SVN的Ant绑定库,它允许Ant任务直接调用SVN命令,如`checkout`(检出)、`commit`(提交)、`update`(更新)等。要在Ant脚本中使用SVN功能,我们需要将`svnant.jar`添加到Ant的类路径中,然后...

    自动获取svn代码并且编译发布

    3. **SvnAnt**: SvnAnt 是 Subversion 和 Ant 的集成,提供 Ant 任务来操作 SVN,比如检出、提交、更新等。要使用 SvnAnt,需要确保 SVN 和 SvnAnt 版本兼容,并将必要的 JAR 文件添加到 Ant 的 lib 目录。 4. **...

    使用svnant插件让ant支持从svn更新项目

    本文将深入探讨如何使用svnant插件使Ant与SVN相结合,以便在构建过程中自动从SVN仓库获取最新的项目代码。 首先,我们需要理解svnant插件的作用。svnant是由TortoiseSVN团队开发的一个Ant任务集,它为Ant提供了一组...

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

    在本项目中,Ant被用来执行自动化任务,包括从Subversion(SVN)版本控制系统中获取源代码,并对代码进行打包。 Subversion是一个开源的版本控制系统,用于管理软件项目的源代码。它允许开发人员在多个时间点保存...

    基于Jmeter+Ant+SVN+Jenkins实现接口自动化测试

    本话题将详细介绍如何利用JMeter、Ant、SVN和Jenkins这四款工具来构建一个完整的接口自动化测试流程。 首先,Apache JMeter是一款强大的性能测试工具,它主要用于测试Web应用,包括接口测试。通过JMeter,我们可以...

    Ant+Svn打包Web工程

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

    Ant+Junit+SVN的安装过程

    完成以上步骤后,你将拥有一个配置好的开发环境,可以使用Ant进行项目构建,利用JUnit编写和运行测试,同时通过SVN进行版本控制。在实际工作中,这些工具的结合使用可以大大提高开发效率和代码质量,确保项目的稳定...

    Ant SVN依赖JAR包

    Ant是一个基于XML的构建工具,用于自动化Java项目构建、编译、测试和部署等任务。而SVN则是一个版本控制系统,用于管理软件项目的源代码版本,使得开发者可以协同工作并追踪代码更改历史。当使用Ant进行构建时,有时...

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

    这样,开发者只需将代码提交到SVN仓库,Jenkins就会自动进行后续的构建工作,从而实现持续集成。 在整个搭建过程中,需要对各组件之间的交互关系和配置细节有充分了解。对Eclipse和SVN的集成进行详细配置,确保代码...

    ant+svn的测试框架

    标题中的“ant+svn”指的是在软件开发过程中使用Apache Ant工具和Subversion(SVN)版本控制系统进行构建和版本管理的组合。Ant是Java平台上的一种开源构建工具,它使用XML来描述构建过程,使得构建脚本易于理解和...

    ant svn插件jar包

    这个插件通常以jar包的形式存在,例如在给定的"antsvn"压缩包中。为了使用这个插件,你需要将jar包添加到Ant的类路径中。这样,你就可以在Ant构建文件中声明新的任务,比如`&lt;svn&gt;`,并配置相关属性来执行SVN命令。 ...

    Ant & SVN task script

    Ant提供了一系列内置的SVN任务,这些任务可以帮助开发者轻松地执行SVN操作,如更新、提交、分支、合并等。这些任务都是通过调用SVN客户端工具来实现的,因此需要确保已经安装了SVN客户端并且可以被Ant访问到。 ####...

Global site tag (gtag.js) - Google Analytics