jenkins+svn+Ant+tomcat+非maven项目构建
首先,输入项目名称,创建一个自由风格的项目;
然后,配置旧项目的策略参数,目的是防止构建项目太多,占用资源。
下一步,jdk版本选择:
下一步,关联svn项目。
下一步:配置ant
看不清,再来一张。
下一步,构建:
下一步,配置tomcat:
最后,点击应用-》保存。
然后我们选择【立即构建】
运行起来,肯定会报错,因为我们使用ant发布,需要配置build.xml文件。
我的build.xml文件在项目根目录下,如图:
内容如下(该文件中的路径是根据自己项目路径为准,会进行个别的变动,要不然会报错或者是构建成功之后访问项目报404错误,哈哈,我就是):
- <?xml version="1.0" encoding="GBK"?>
- <project name="SF" default="deploy" basedir=".">
- <property environment="env" />
- <property name="webapp.name" value="SF" />
- <property name="catalina.home" value="/usr/local/apache-tomcat-8.0.20/" />
- <property name="dist.dir" value="${basedir}/dist" />
- <property name="ant.dir" value="/usr/local/apache-ant-1.10.5" />
- <property name="webRoot.dir" value="${basedir}/WebRoot" />
- <property name="src.dir" value="${basedir}/src" />
- <property name="resources.dir" value="${basedir}/resources" />
- <property name="lib.dir" value="${webRoot.dir}/WEB-INF/lib" />
- <property name="build.dir" value="${basedir}/build" />
- <!-- 使用eclipse jdt进行编译,而不使用JDK编译 -->
- <!-- <property name="build.compiler" value="org.eclipse.jdt.core.JDTCompilerAdapter" /> -->
- <!-- <property name="build.compiler" value="/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.181-3.b13.el6_10.x86_64" /> -->
- <!-- 初始化classpath -->
- <path id="project.classpath">
- <fileset dir="${lib.dir}">
- <include name="**/*.jar" />
- </fileset>
- <!-- 添加tomcat类路径 -->
- <fileset dir="${catalina.home}/lib">
- <include name="*.jar" />
- </fileset>
- <!-- ant lib包 -->
- <fileset dir="${ant.dir}">
- <include name="**/*.jar" />
- </fileset>
- </path>
- <!-- get the source compile classpath in a printable form -->
- <pathconvert pathsep="${line.separator}| |-- "
- property="echo.path.compile"
- refid="project.classpath">
- </pathconvert>
- <!-- show classpath jars -->
- <target name="print_classpath">
- <echo message="|-- compile classpath"/>
- <echo message="| |"/>
- <echo message="| |-- ${echo.path.compile}"/>
- </target>
- <!-- 删除之前的目录结构 -->
- <target name="clear" description="清理旧文件">
- <delete dir="${build.dir}" />
- <delete dir="${dist.dir}" />
- <delete file="${catalina.home}/webapps/${webapp.name}.war" />
- <delete dir="${catalina.home}/webapps/${webapp.name}" />
- </target>
- <!-- 创建目录结构 -->
- <target name="init" depends="clear" description="创建初始化目录结构">
- <mkdir dir="${build.dir}/classes" />
- <mkdir dir="${dist.dir}" />
- </target>
- <!-- 编译java -->
- <target name="compile" depends="init" description="编译java文件">
- <echo message="begin compile..." />
- <javac srcdir="${src.dir}" destdir="${build.dir}/classes"
- includeantruntime="false" nowarn="on"
- source="1.8" target="1.8" deprecation="true" debug="true"
- encoding="UTF-8" classpathref="project.classpath"
- >
- <!-- <compilerarg line="-XDignore.symbol.file"/> -->
- <compilerarg line="-Xlint:unchecked" />
- <!-- <classpath refid="project.classpath" /> -->
- </javac>
- <copydir dest="${build.dir}/classes" src="${resources.dir}" />
- <!-- <copy todir="${build.dir}">
- <fileset dir="${resources.dir}">
- <include name="**/**/*.xml" />
- <include name="**/**/*.ftl" />
- <include name="**/*.xml" />
- <include name="*.xml" />
- <include name="*.properties" />
- </fileset>
- </copy> -->
- <echo message="end compile..." />
- </target>
- <!-- 将class文件打成 jar包 -->
- <!--
- <target name="pack" depends="compile">
- <jar jarfile="${build.dir}/${webapp.name}.jar">
- <fileset dir="${build.dir}/classes">
- <include name="**/*.class"/>
- </fileset>
- </jar>
- </target>
- -->
- <!-- 打成war包, 名称默认为 项目名 -->
- <target name="war" depends="compile" description="将工程打成war包">
- <echo message="begin war..." />
- <war destfile="${dist.dir}/${webapp.name}.war" basedir="${webRoot.dir}"
- webxml="${webRoot.dir}/WEB-INF/web.xml">
- <lib dir="${lib.dir}" />
- <classes dir="${build.dir}/classes" />
- <fileset dir="${webRoot.dir}">
- <include name="***.*" />
- </fileset>
- </war>
- <echo message="end war..." />
- </target>
- <!-- copy war包 tomcat的deploy目录 -->
- <target name="deploy" depends="war" description="部署项目">
- <echo message="begin deploy..." />
- <copy file="${dist.dir}/${webapp.name}.war" todir="${catalina.home}/webapps" />
- <echo message="end deploy..." />
- </target>
- </project>
修改好build.xml文件之后,提交到svn。在jenkins中重新构建,构建成功之后,无需重启tomcat,即可访问到项目。
例如:http://ip地址:8080/项目名称
下一节我们介绍build.xml需要变动哪些地方!
jenkins+svn+Ant+tomcat+非maven项目构建的更多相关文章
- Jenkins+svn+ant+tomcat持续集成
转载自 http://www.cnblogs.com/liuhaixia/p/7267473.html Jenkins是基于Java开发的一种持续集成工具,用于监控秩序重复的工作.通过Jenkins+ ...
- 【tomcat 无法部署】svn上下载的maven项目无法部署到tomcat中
问题: svn上下载的maven项目无法部署到tomcat中,tomcat不识别项目,但是这个项目确实是web项目 发现的过程: 然后依次产看项目的编译版本: 项目的依赖架包: 才发现: 解决方法: ...
- idea-----Intellij IDEA配置tomcat(非maven项目)
Intellij IDEA配置tomcat(非maven项目) 引用: https://blog.csdn.net/springlovejava/article/details/78570241 ID ...
- 将Myeclipse非maven项目,导入到IDEA
# 将Myeclipse非maven项目,导入到IDEA 1. 打开原项目,复制“.classpath”文件路径,在IDEA中打开项目时,选此文件路径 2. 进入项目转换界面,默认一步步完成 3. 导 ...
- 准备阶段-maven项目构建
依据我现阶段对maven的了解,具使用POM管理项目和强大的repository资源管理库支持. 在项目建立初期,对网站的可拓展.高并发.易于管理做了评估.最终使用Maven 管理该项目 . 如下是m ...
- IntelliJ IDEA 2017.2.6 x64 配置 tomcat 启动 maven 项目
IntelliJ IDEA 2017.2.6 x64 配置 tomcat 启动 maven 项目 1.确认 IDEA 是否启用了 tomcat 插件 2.添加 tomcat 选择 tomcat 存放路 ...
- (转)Maven学习总结(二)——Maven项目构建过程练习
孤傲苍狼 只为成功找方法,不为失败找借口! Maven学习总结(二)——Maven项目构建过程练习 上一篇只是简单介绍了一下maven入门的一些相关知识,这一篇主要是体验一下Maven高度自动化构建项 ...
- IntelliJ IDEA使用心得之非Maven项目篇
今天和大家分享下非Maven项目在IDEA中的配置方法,由于非Maven项目的配置方法基本相同,所以此篇只对不同点进行说明. 1.声明依赖库 我们可以使用库的方式来添加项目依赖,这是一个非常好的实践. ...
- Tomcat发布Maven项目遇到异常:java.lang.OutOfMemoryError: PermGen space
前言: 本问题出现在tomcat 7发布 web3.0Maven项目的时候出现. 问题阐述: 异常:java.lang.OutOfMemoryError:PermGen space 解决如下: 1. ...
随机推荐
- Docker容器技术的核心
容器技术的核心 所谓容器,其实是由Linux Namespace.Linux Cgroups和rootfs三种技术构建出来的进程的隔离环境 对于Docker项目来说,其实最核心就是为待创建的用户进程: ...
- Redis主从复制的原理
更多内容,欢迎关注微信公众号:全菜工程师小辉.公众号回复关键词,领取免费学习资料. 在Redis集群中,让若干个Redis服务器去复制另一个Redis服务器,我们定义被复制的服务器为主服务器(mast ...
- HDU5988 - 2016icpc青岛 - G - Coding Contest 费用流(利用对数化乘为加
HDU5988 题意: 有n个区域,每个区域有s个人,b份饭.现在告诉你每个区域间的有向路径,每条路有容量和损坏路径的概率.问如何走可以使得路径不被破坏的概率最小.第一个人走某条道路是百分百不会损坏道 ...
- ccpc网赛 hdu6705 path(队列模拟 贪心
http://acm.hdu.edu.cn/showproblem.php?pid=6705 这是比赛前8题过的人数第二少的题,于是就来补了,但感觉并不难啊..(怕不是签到难度 题意:给个图,给几条路 ...
- CF1027D Mouse Hunt 思维
Mouse Hunt time limit per test 2 seconds memory limit per test 256 megabytes input standard input ou ...
- 阿里社招Java面试题总结——面试官分享
面试题 1.Java中的内存溢出是如何造成的 2.gc的概念,如果A和B对象循环引用,是否可以被GC? 3.Error.Exception和RuntimeException的区别,作用又是什么? 4. ...
- win10 解决端口被占用
查看端口 netstat -aon|findstr "端口" 通过PID查找应用程序 tasklist|findstr "PID" 关闭进程 taskkill ...
- Docker下kafka学习三部曲之二:本地环境搭建
在上一章< Docker下kafka学习,三部曲之一:极速体验kafka>中我们快速体验了kafka的消息分发和订阅功能,但是对环境搭建的印象仅仅是执行了几个命令和脚本,本章我们通过实战来 ...
- LVM(逻辑卷管理)
一.LVM概念 LVM是逻辑盘卷管理(Logical Volume Manager)的简称,它是Linux环境下对磁盘分区进行管理的一种机制,LVM是建立在硬盘和分区之上的一个逻辑层,来提高磁盘分区管 ...
- Session的创建和设置
1.Session的获取: (1)无参的方法: protected void doGet(HttpServletRequest request, HttpServletResponse respons ...