要实现ant可以从svn服务器上检出代码要使用svnant jar文件。
从网上下载svnant 包,下载地址:
http://subclipse.tigris.org/files/documents/906/49042/svnant-1.3.1.zip
将下载好的svnant 解压将 lib目录下的所有jar复制到ant主目录中的 lib目录下。
编写build.xml
要svn task任务可以使用要在build.xml中添加
<typedef resource="org/tigris/subversion/svnant/svnantlib.xml" />
完整的xml文件如下:
<project name="dt" basedir=".">
<!--定义属性-->
<property name="src" value="src/main/java" />
<property name="resources" value="src/main/resources"/>
<property name="test" value="test"></property>
<property name="target" value="target"></property>
<property name="main-target" value="target/classes"/>
<property name="test-target" value="target/test-classes"/>
<property name="lib-dir" value="WebContent/WEB-INF/lib"/>
<property name="tomcat.home" value="D:/webapp-server/apache-tomcat-6.0.20"/>
<!--ant lib目录>
<property name="ant-lib-dir" value="D:/apache-ant-1.8.2/lib"/>
<!-- 需指向本地tomcat lib目录 -->
<property name="tomcat-lib" value="D:/webapp-server/apache-tomcat-6.0.20/lib"/>
<!-- svn路径 -->
<property name="urlRepos" value="svn://192.168.1.1o/Project/dt" />
<!-- 定义classpath-->
<path id="classpath">
<fileset dir="${lib-dir}" includes="***.jar"></fileset>
<fileset dir="${tomcat-lib}" includes="***.jar"></fileset>
</path>
<!-- 引用svn task文件,使用svn任务可以使用-->
<typedef resource="org/tigris/subversion/svnant/svnantlib.xml" />
<!-- 清理-->
<target name="clean">
<delete dir="${target}"></delete>
</target>
<!-- 初始化-->
<target name="init" depends="clean">
<mkdir dir="${main-target}"/>
<mkdir dir="${test-target}"/>
</target>
<!-- 设置svn相关属性 -->
<svnSetting id="svn.setting" svnkit="true" username="hzl" password="111111" javahl="false" />
<!-- 检出代码 这里使用 export 不是checkout 二者区别 checkout会svn相关信息文件检出,export只是检出最新的文件-->
<target name="checkout" depends="clean">
<svn refid="svn.setting">
<export srcUrl="${urlRepos}" destPath="." force="true"/>
</svn>
</target>
<!-- 编译 -->
<target name="compile" depends="checkout">
<javac srcdir="${src}" destdir="${main-target}" encoding="UTF-8" includeAntRuntime="false">
<classpath refid="classpath"></classpath>
</javac>
<copy todir="${main-target}">
<fileset dir="${resources}">
<exclude name="sql/**"/>
</fileset>
</copy>
</target>
<!-- 打war包 -->
<target name="build" depends="compile">
<war destfile="${target}/dt.war" webxml="WebContent/WEB-INF/web.xml">
<fileset dir="WebContent"></fileset>
<classes dir="${main-target}"></classes>
</war>
<delete dir="${main-target}"></delete>
<delete dir="${test-target}"></delete>
</target>
<!--shutdowntomcat-->
<target name="shutdowntomcat" description="========shutdowntomcat===========">
<exec executable="${tomcat.home}/bin/shutdown.sh" failonerror="false"></exec>
<sleep seconds="10"/>
</target>
<!--startuptomcat-->
<target name="startuptomcat" description="========startuptomcat===========">
<sleep seconds="5"/>
<exec executable="${tomcat.home}/bin/startup.sh" failonerror="false"></exec>
</target>
<!--部署到tomcat下面-->
<target name="deploy" depends="war">
<copy file="${target}/dt.war" todir="${tomcat.home}/webapps" />
</target>
</project>
分享到:
相关推荐
通过jenkins和ant以及svn进行整合,可以完成对系统的源代码的自动下载更新,以及代码的自动编译打包和项目的自动部署(项目的自动构建部署)
标签: antsvn自动化测试发布 分类: ant 不会用ant打包、部署项目的工程师,不是一个好程序员(测试) 副标题:利用ant脚本 自动构建svn增量/全量 系统程序升级包 首先请允许我这样说,作为开发或测试,你一定要...
通过jenkins和ant以及svn进行整合,可以完成对系统的源代码的自动下载更新,以及代码的自动编译打包和项目的自动部署(项目的自动构建部署)。而且项目的自动构建部署和平台无关,不限定时间,可以定时操作,将开发...
Jenkins是一个开源软件项目,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能,通过Jenkins和Ant以及SVN整合,可以比较容易的实现通过SVN获取源代码更新,然后应用Ant自动编译打包,然后部署到相应的...
windows2003中SVN服务器异机同步、自动部署Java项目全流程. 由VisualSVN Server自动更新本地代码、编译代码、部署代码、重启Tomcat。
原理:从svn down代码、ant编译、打包项目、上传zip包、代码同步、解压、重启web容器 由于开发的比较着急,代码写的有点乱、忘谅解,仅供参考。 代码分为两部分(写在了同一个项目中),①功能部分②调用服务器端...
实现便捷的在本地 eclipse 上开发,在 sae 云服务器上部署和调试,实现在 eclipse 上编译 java web 项目的时候自动生成 war 包,然后再自动通过 svn 上传部署到新浪 sae 云平台的流程,1. 下载 Eclipse 4.2 or 4.3 ...
通过 SVN、ANT、TOMCAT、HUNSON 实现Java项目的版本控制及项目自动部署。客户端要做的只需要安装SVN提交代码即可。
常用的版本控制工具有SVN、GIT,构建工具有Maven、Ant、Gradle。 CI/CD是什么? CI(Continuous integration,中文意思是持续集成)是一种软件开发时间。持续集成强调开发人员提交了新代码之后,立刻进行构建、(单元...
代码可以从这里得到 svn co https://svn.apache.org/repos/asf/ant/ivy/core/trunk ivy 2.确保你的机子上已经安装了ant (version 1.6.5 or 以上)与jd ... by happylove311 2008-10-12 回复 (3) ejb中用ant出错 ...
jenkins可以很好的支持各种语言(比如:java, c#, php等)的项目构建,也完全兼容ant、maven、gradle等多种第三方构建工具,同时跟svn、git能无缝集成,也支持直接与知名源代码托管网站,比如github、bitbucket直接...
3.apache-ant 4.apache-tomcat 5.数据库 6.web技术 7.java编程 8.基础知识 9.网络技术 10.apache-struts 11.j2ee架构与模式 12.Log4j 13.Eclipse 14.Svn 15.Xml 16.Tapestry 17.Junit 18.Ejb 19.Spring 20.Unix 21....
3.apache-ant 4.apache-tomcat 5.数据库 6.web技术 7.java编程 8.基础知识 9.网络技术 10.apache-struts 11.j2ee架构与模式 12.Log4j 13.Eclipse 14.Svn 15.Xml 16.Tapestry 17.Junit 18.Ejb 19.Spring 20.Unix 21....
介绍Jenkins是一个广泛用于[持续构建]()的可视化web工具,就是各种项目的的“自动化”编译、打包、分发部署,将以前编译、打包、上传、部署到Tomcat中的过程交由Jenkins,Jenkins通过给定的代码地址,将代码拉取到...
jboss cache为代表的需要更新同步的分布式级缓存 以memcached为代表的不互相通信的分布式缓存 异步操作 使用集群 代码优化 多线程 资源复用 单例 对象池 数据结构 垃圾回收 存储...
提供类级别的热更新,但仅建议在需要快速修正严重BUG、并且无法立即进行全更新时使用。 提供全冗余方式的缓存,自动在每个节点间同步缓存数据,而每个节点都仅从本地内存中获取缓存数据,从而提供高效的执行效率,...