ant+svn+tomcat实现javaweb项目的自动构建
2016-11-22 16:20
603 查看
ant+svn+tomcat实现,从svn拉取javaweb项目,然后自动编译发布到固定的目录,之后使用windows任务计划功能每天定点执行
由运维人员拉取代码,这样就可以实现自动化操作,不用每次人为去干预。参考的连接:http://www.cnblogs.com/taoweiji/p/3700915.html,
http://blog.csdn.net/pengchang_1981/article/details/50441253,一开始下载了svnant-1.0.0的版本,报如下的错误:
svnant的BUILD FAILED Problem: failed to create task or type svnSetting Cause: The name is undefined原因,后面换成了svnant-1.0.0
的版本,将lib的目录放在ant的lib下,执行build.bat就可以了。
要完成这个前提是:你已经安装了tomcat/ant/jdk/svn。
1.build.xml文件内容如下:
2.build.properties配置本地的tomcat/svn的JavaWeb项目地址以及用户名和密码
3.bat文件如下:
1. 运行报错的截图,由于svn用户名和密码写错,写对了就可以了,而且需要javaweb的根目录以供参考参考:
运行成功之后,就会在目录下生成从svn拉取的代码:
2.拉取了svn的代码之后,要对src的目录下的java代码进行编译,会出现很多编译的错误,原因是因为你的tomcat的lib中缺少了你工程目录运行的jar包,先复制进去就可以了,然后重新打包就可以了。成功之后会生成一个war包,如下图:
这个war包,放在tomcat的webapps目录下,重启一下tomcat,会自动解压的,不过还有一个问题是这个工程,缺少了一些运行的jar包,还是无法运行,需要解决。
ant工具还是很强大的,有时间要好好研究一下,就到此为止吧,希望对有同样需求的额人有帮助,感谢前辈的贡献。
由运维人员拉取代码,这样就可以实现自动化操作,不用每次人为去干预。参考的连接:http://www.cnblogs.com/taoweiji/p/3700915.html,
http://blog.csdn.net/pengchang_1981/article/details/50441253,一开始下载了svnant-1.0.0的版本,报如下的错误:
svnant的BUILD FAILED Problem: failed to create task or type svnSetting Cause: The name is undefined原因,后面换成了svnant-1.0.0
的版本,将lib的目录放在ant的lib下,执行build.bat就可以了。
要完成这个前提是:你已经安装了tomcat/ant/jdk/svn。
1.build.xml文件内容如下:
<project name="daka_main" basedir="."> <!--############################################################项目目录 --> <!--项目根--> <property name="project" value="project" /> <property name="src" value="${project}/src" /> <property name="resources" value="${project}/src"/> <property name="test" value="${project}/test"></property> <property name="target" value="${project}/target"></property> <property name="main-target" value="${project}/target/classes"/> <property name="test-target" value="${project}/target/test-classes"/> <!--web 目录 --> <property name="web-root" value="${project}/WebRoot"/> <!-- ant 属性文件 --> <property file="build.properties"/> <!--############################################################软件依赖 --> <!--ant lib目录--> <property name="ant-lib" value="${ant.home}/lib"/> <!-- tomcat lib目录 --> <property name="tomcat-lib" value="${tomcat.home}/lib"/> <!-- 定义classpath--> <path id="classpath"> <fileset dir="${ant-lib}" includes="***.jar"></fileset> <fileset dir="${tomcat-lib}" includes="***.jar"></fileset> <fileset dir="${web-root}/WEB-INF/lib" includes="***.jar"></fileset> </path> <!-- 清理--> <target name="clean"> <delete dir="${project}"></delete> </target> <!-- 初始化--> <target name="init" depends="clean"> <mkdir dir="${project}"/> <mkdir dir="${main-target}"/> <mkdir dir="${test-target}"/> </target> <!-- 检出代码 这里使用 export 不是checkout 二者区别 checkout会svn相关信息文件检出,export只是检出最新的文件--> <path id="path.svnant"> <fileset dir="${basedir}"> <include name="**/*.jar"/> </fileset> </path> <typedef resource="org/tigris/subversion/svnant/svnantlib.xml" classpathref="path.svnant"/> <target name="checkout" depends="init"> <svnSetting id="svnparams" username="${svn.username}" password="${svn.password}" javahl="false"/> <svn refid="svnparams"> <checkout url="${svn.url}" destPath="${project}" /> </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}/${deploy.name}.war" webxml="${web-root}/WEB-INF/web.xml"> <fileset dir="${web-root}"></fileset> <classes dir="${main-target}"></classes> </war> <delete dir="${main-target}"></delete> <delete dir="${test-target}"></delete> </target> <!--shutdowntomcat --> <target name="shutdowntomcat" description="========shutdowntomcat==========="> <echo message="正在关闭服务器。。。" /> <exec executable="${tomcat.home}/bin/shutdown.bat" failonerror="false"></exec> <echo message="服务器成功关闭" /> <sleep seconds="10"/> <!-- 删除之前解压的war包--> <delete dir="${tomcat.home}/webapps/${deploy.name}"></delete> </target> <!--startuptomcat --> <target name="startuptomcat" description="========startuptomcat==========="> <sleep seconds="5"/> <echo message="正在启动服务器。。。" /> <exec executable="${tomcat.home}/bin/startup.bat" failonerror="false"></exec> <echo message="服务器启动成功" /> </target> <!--部署到tomcat下面 --> <target name="deploy" depends="build"> <ant target="shutdowntomcat"/> <copy file="${target}/${deploy.name}.war" todir="${tomcat.home}/webapps" /> <ant target="startuptomcat"/> </target> </project>
2.build.properties配置本地的tomcat/svn的JavaWeb项目地址以及用户名和密码
tomcat.home=D:\exlisttomcat\apache-tomcat-6.0.35 ant.home=E:\ant\apache-ant-1.9.7-bin svn.url=svn://192.168.0.1/mtp/ceshi/ svn.username=qiulinhe svn.password=Qiulinhe2483215 deploy.name=imweb
3.bat文件如下:
@echo off E: cd imweb ant deploy exit
1. 运行报错的截图,由于svn用户名和密码写错,写对了就可以了,而且需要javaweb的根目录以供参考参考:
运行成功之后,就会在目录下生成从svn拉取的代码:
2.拉取了svn的代码之后,要对src的目录下的java代码进行编译,会出现很多编译的错误,原因是因为你的tomcat的lib中缺少了你工程目录运行的jar包,先复制进去就可以了,然后重新打包就可以了。成功之后会生成一个war包,如下图:
这个war包,放在tomcat的webapps目录下,重启一下tomcat,会自动解压的,不过还有一个问题是这个工程,缺少了一些运行的jar包,还是无法运行,需要解决。
ant工具还是很强大的,有时间要好好研究一下,就到此为止吧,希望对有同样需求的额人有帮助,感谢前辈的贡献。
相关文章推荐
- ant+svn+tomcat实现自动构建
- ant+svn+tomcat实现自动构建
- ant+svn+tomcat实现自动构建
- ant+svn+tomcat实现自动构建
- ant+svn+tomcat实现自动构建
- ant+svn+tomcat实现项目自动部署
- 用Ant实现Java项目的自动构建和部署
- 利用Ant实现项目自动构建测试备份并发布到项目web(1)
- 用Ant实现Java项目的自动构建和部署
- 用Ant实现Java项目的自动构建和部署
- 利用Ant实现项目自动构建测试备份并发布到项目web(2)
- 使用ANT+SVN在Linux上实现自动部署项目
- 用Ant实现Java项目的自动构建和部署
- 用Ant实现Java项目的自动构建和部署
- 利用Ant实现项目自动构建测试备份并发布到项目web
- 用Ant实现Java项目的自动构建和部署
- 用Ant实现Java项目的自动构建和部署(转)
- 用Ant实现Java项目的自动构建和部署
- 用Ant实现Java项目的自动构建和部署
- 利用Ant实现项目自动构建测试备份并发布到项目web(3)