使用svnant结合svn进行项目构建
来源:互联网 发布:苹果破解软件论坛 编辑:程序博客网 时间:2024/05/22 10:28
使用ant可以进行项目构建,而在svn环境下进行项目自动构建则需要使用svnant来对源码进行操作。本例以从svn服务器上签出代码,在本地编译、执行为例说明svnant的操作。要执行以上操作,需要安装ant、带命令行的svn客户端和svnant。使用TortoiseSVN不可以,因为他没有svn可执行文件。
建立的build.xml文件如下:
<?xml version="1.0"?><!-- Sample build file used to retrieve svnant's sources --><project name="svn-test" basedir="."default="run"> <!-- all properties are in build.properties --> <propertyfile="build.properties" /> <!-- path to the svnantlibraries. Usually they will be located in ANT_HOME/lib --> <path id="project.classpath"> <pathelementlocation="${svnjavahl.jar}" /> <pathelementlocation="${svnant.jar}" /> <pathelementlocation="${svnClientAdapter.jar}" /> </path> <!-- load the svn task--> <taskdefresource="svntask.properties" classpathref="project.classpath"/> <targetname="delete" depends="checkoutLatest"> <deletedir="bin" includes="*"/> <deletedir="output" includes="*"/> </target> <targetname="compile" depends="delete"> <javacdestdir="bin" srcdir="src" includeantruntime="on"/> </target> <targetname="jar" depends="compile"> <jardestfile="output/hello.jar" basedir="bin"/> </target> <targetname="run" depends="jar"> <javadir="bin" classname="hello" classpath="bin"/> </target> <targetname="checkoutLatest"> <svnusername="${svnant.repository.user}"password="${svnant.repository.passwd}"> <checkouturl="${svnant.latest.url}" revision="HEAD"destPath="." /> </svn> </target></project>
可以看出,上述文件最先开始执行checkout命令,从资源库中检出新的代码,随后执行删除命令,清除了output和bin文件夹中的内容,随后执行编译、打包命令,最后执行上述代码生成的最新结果。执行结果为:
以上代码引入了一个配置文件build.properties,其内容如下:
svnant.version=1.0.0lib.dir=libsvnant.jar=${lib.dir}/svnant.jarsvnClientAdapter.jar=${lib.dir}/svnClientAdapter.jarsvnjavahl.jar=${lib.dir}/svnjavahl.jar svnant.latest.url=svn://192.168.195.54/hello/ svnant.repository.user=gongqingkuisvnant.repository.passwd="123"
上述文件定义了连接到SVN服务器的用户名密码和地址信息。
使用以上配置,再加上自动执行脚本,可以执行每日构建等工作。
Ps:在检出代码时,如果提示Cannot use javahl nor command line svn client,那么可能是因为没有svn可执行文件,或者javahl.jar文件导致。一般安装带命令行的svn客户端,或者将svnant下的javahl.jar拷贝到antd的lib下。本例中安装了subversion的服务器,他其中带有svn的可执行客户端。
PS:本文使用svnant比较复杂,可以参考svn的exec指令如:
<target name="build"><exec executable="svn"><arg line=" checkout svn://127.0.0.1/userview/trunk userview"/></exec><ant antfile="build.xml" dir="userview" target="test"/></target>
可以实现从svn下载代码等功能。
- 使用svnant结合svn进行项目构建
- 结合Maven2进行J2EE项目构建
- 结合Maven2进行J2EE项目构建
- 结合Maven2进行J2EE项目构建
- 结合Maven2进行J2EE项目构建
- 利用svnant集成SVN
- 使用jenkins进行项目构建
- 使用maven进行项目构建
- 使用SVN进行项目管理
- svnant
- 如何结合使用Subversion 和Eclipse进行SVN管理
- 使用unity3d + vuforia进行AR项目构建
- 使用cmake进行Android项目的构建
- 使用SVN进行项目版本管理
- 使用SVN进行项目版本管理
- Mac中使用svn进行项目管理
- 使用svn进行项目版本管理
- 使用svn对项目权限进行管理
- RGSS 命名规则,保留字
- 浅析ObjectiveC 深浅拷贝学习
- Matlab 数据库工具箱函数
- pthread_join
- 那时候的小小记忆--KFC点菜系统
- 使用svnant结合svn进行项目构建
- NASK汇编指令学习记录(一)
- static作用(作用范围,存储区域,生命周期)
- OllyDBG 入门系列
- Spring与JDBC整合、事务处理
- VS2010 C++ 操作Excel表格的编程实现
- struts2 jsp页面访问List, set 和<s:iterator>的使用
- 算是个ASP木马编年史吧。。。从一个论坛上看来的
- struts2 Map<String,Object>session心得 浅析