Jenkins+Ant自动布署war

一、jenkins配置

在jenkins里面配置好ant版本

构建完成后执行shell脚本重启tomcat

二、build.xml配置

  1. 从官网http://ant.apache.org/bindownload.cgi获取最新的tar包。
  2. 上传至服务器目录,解压tar包即可

  tar –xvf   apache-ant-1.9.2-bin.tar

**注:**使用javacc编译存在一些条件无法编译的情况,可以使用eclipse的编译器jdt进行编译。找到

  jdtCompilerAdapter.jar

  org.eclipse.jdt.compiler.tool_1.0.100.v_B79_R37x.jar

  org.eclipse.jdt.core_3.7.3.v20120119-1537.jar

  org.eclipse.jdt.debug.ui_3.6.1.v20111006_r372.jar

  上传至ant目录的lib下。在build.xml申明下使用jdt即可

  <property name="build.compiler"value="org.eclipse.jdt.core.JDTCompilerAdapter">

1<?xml version="1.0" encoding="UTF-8"?> 2<project name="testApp" default="deploy" basedir="."> 3 <property environment="env" /> 4 <property name="webapp.name" value="testApp" /> 5 <property name="catalina.home" value="/home/testApp/tomcat8087" /> 6 <property name="dist.dir" value="${basedir}/dist" /> 7 <property name="ant.dir" value="/usr/local/apache-ant-1.9.9" /> 8 <property name="webRoot.dir" value="${basedir}/WebRoot" /> 9 <property name="src.dir" value="${basedir}/src" /> 10 <property name="config.dir" value="${basedir}/conf" /> 11 <property name="lib.dir" value="${webRoot.dir}/WEB-INF/lib" /> 12 <property name="build.dir" value="${basedir}/build" /> 13 <!-- 使用eclipse jdt进行编译,而不使用JDK编译 --> 14 <property name="build.compiler" value="org.eclipse.jdt.core.JDTCompilerAdapter" /> 15 16 <!-- 初始化classpath --> 17 <path id="project.classpath"> 18 <fileset dir="${lib.dir}"> 19 <include name="**/*.jar" /> 20 </fileset> 21 <!-- 添加tomcat类路径 --> 22 <fileset dir="${catalina.home}/lib"> 23 <include name="*.jar" /> 24 </fileset> 25 <!-- ant lib包 --> 26 <fileset dir="${ant.dir}"> 27 <include name="**/*.jar" /> 28 </fileset> 29 </path> 30 31 <!-- get the source compile classpath in a printable form --> 32 <pathconvert pathsep="${line.separator}| |-- " 33 property="echo.path.compile" 34 refid="project.classpath"> 35 </pathconvert> 36 37 <!-- show classpath jars --> 38 <target name="print_classpath"> 39 <echo message="|-- compile classpath"/> 40 <echo message="| |"/> 41 <echo message="| |-- ${echo.path.compile}"/> 42 </target> 43 44 45 <!-- 删除之前的目录结构 --> 46 <target name="clear" description="清理旧文件"> 47 <delete dir="${build.dir}" /> 48 <delete dir="${dist.dir}" /> 49 <delete file="${catalina.home}/webapps/${webapp.name}.war" /> 50 <delete dir="${catalina.home}/webapps/${webapp.name}" /> 51 </target> 52 53 <!-- 创建目录结构 --> 54 <target name="init" depends="clear" description="创建初始化目录结构"> 55 <mkdir dir="${build.dir}/classes" /> 56 <mkdir dir="${dist.dir}" /> 57 </target> 58 59 <!-- 编译java --> 60 <target name="compile" depends="init" description="编译java文件"> 61 <echo message="begin compile..." /> 62 <javac srcdir="${src.dir}" destdir="${build.dir}/classes" 63 includeantruntime="false" nowarn="on" 64 source="1.7" target="1.7" deprecation="true" debug="true" 65 encoding="UTF-8" classpathref="project.classpath"> 66 <compilerarg line="-Xlint:unchecked" /> 67 <!-- <classpath refid="project.classpath" /> --> 68 </javac> 69 <copy todir="${build.dir}/classes"> 70 <fileset dir="${src.dir}"> 71 <include name="**/*.xml" /> 72 <include name="**/*.properties" /> 73 <include name="**/*.sql" /> 74 </fileset> 75 <fileset dir="${config.dir}"> 76 <include name="**/*.xml" /> 77 <include name="**/*.properties" /> 78 <include name="**/*.ftl" /> 79 <include name="**/*.xls" /> 80 <include name="**/*.ttc" /> 81 </fileset> 82 </copy> 83 <echo message="end compile..." /> 84 </target> 85 86 <!--class文件打成 jar包 --> 87 <!-- 88 <target name="pack" depends="compile"> 89 <jar jarfile="${build.dir}/${webapp.name}.jar"> 90 <fileset dir="${build.dir}/classes"> 91 <include name="**/*.class"/> 92 </fileset> 93 </jar> 94 </target> 95 --> 96 97 <!-- 打成war包, 名称默认为 项目名 --> 98 <target name="war" depends="compile" description="将工程打成war包"> 99 <echo message="begin war..." /> 100 <war destfile="${dist.dir}/${webapp.name}.war" basedir="${webRoot.dir}" 101 webxml="${webRoot.dir}/WEB-INF/web.xml"> 102 <lib dir="${lib.dir}" /> 103 <classes dir="${build.dir}/classes" /> 104 <fileset dir="${webRoot.dir}"> 105 <include name="***.*" /> 106 </fileset> 107 <fileset dir="${config.dir}"> 108 <include name="***.*" /> 109 </fileset> 110 </war> 111 <echo message="end war..." /> 112 </target> 113 114 <!-- copy war包 tomcat的deploy目录 --> 115 <target name="deploy" depends="war" description="部署项目"> 116 <echo message="begin deploy..." /> 117 <copy file="${dist.dir}/${webapp.name}.war" todir="${catalina.home}/webapps" /> 118 <echo message="end deploy..." /> 119 </target> 120 121</project>

参考:

http://www.voidcn.com/blog/wangyajin333/article/p-26662.html

http://www.zving.com/c/2014-05-30/258250.shtml

http://blog.csdn.net/db308950372/article/details/9225539

http://blog.sina.com.cn/s/blog\_b0d01b5b0102w6va.html

http://blog.csdn.net/hongshan50/article/details/8994755

http://blog.csdn.net/hardwin/article/details/7560843

点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

MySQL部分从库上面因为大量的临时表tmp_table造成慢查询

背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_

皕杰报表之UUID

​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

2020年前端实用代码段,为你的工作保驾护航

有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )