首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > CVS SVN >

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

2013-07-11 
使用ant自动更新svn,编译,提交svn最近转行到数据库上面,开始做数据库相关工作.每天需要生成数据库-实体而

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

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

而且要导入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>

?

?

?

热点排行