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需要变动哪些地方!

原文地址:https://www.cnblogs.com/yyk1226/p/9817913.html

时间: 2024-10-07 16:48:54

jenkins+svn+Ant+tomcat+非maven项目构建的相关文章

Jenkins+svn+ant+tomcat持续集成

Jenkins是基于Java开发的一种持续集成工具,用于监控秩序重复的工作.通过Jenkins+svn+ant+tomcat整合,可以完成对系统源代码的下载更新,以及代码的自动编译打包和项目的自动部署工作,而且项目的自动构建与平台无关,可以定时操作,从而使得测试人员脱离开发人员. 1.Jenkins工作原理 Jenkins是一个管理者,定时从svn获取更新的代码,拷贝到自己的workspace,然后利用ant将源码编译并生成war包,拷贝到tomcat的webapp目录下,再调用tomcat启动

【tomcat 无法部署】svn上下载的maven项目无法部署到tomcat中

问题: svn上下载的maven项目无法部署到tomcat中,tomcat不识别项目,但是这个项目确实是web项目 发现的过程: 然后依次产看项目的编译版本: 项目的依赖架包: 才发现: 解决方法: 修改了这里的版本~~~ 将这三部分的JDK版本统一~~ 项目就可以部署到tomcat中了~~

Intellij IDEA配置tomcat(非maven项目)

Intellij IDEA配置tomcat(非maven项目) 引用:https://blog.csdn.net/springlovejava/article/details/78570241 原文地址:https://www.cnblogs.com/mgblog/p/10459903.html

SpringMVC + Mybatis + SpringSecurity(权限控制到方法按钮) + Rest(服务) + Webservice(服务) + Quartz(定时调度)+ Lucene(搜索引擎) + HTML5 bootstrap + Maven项目构建绝对开源平台

框架整合: Springmvc + Mybatis + Shiro(权限) + REST(服务) + WebService(服务) + JMS(消息) + Lucene(搜搜引擎) + Quartz(定时调度) + Bootstrap Html5(支持PC.IOS.Android) 需要源码请加Q:3121026417   此处[源码获取地址] 框架简介: 项目Maven构建,真实大型互联网架构,做到高并发,大数据处理,整个项目使用定制化服务思想,提供模块化.服务化.原子化的方案,将功能模块进行

springmvc+spring+mybatis+maven项目构建

1.首先在myeclipse10中安装maven的插件,将插件放入D:\Program Files (x86)\myEclipse10\MyEclipse Blue Edition 10\dropins\maven中, 2. 新建文件:maven.link填入如下内容:path=D:/Program Files (x86)/myEclipse10/MyEclipse Blue Edition 10/dropins/maven 3.重启myeclipse插件安装成功. 4.在myeclipse10

将Myeclipse非maven项目,导入到IDEA

将Myeclipse非maven项目,导入到IDEA 打开原项目,复制".classpath"文件路径,在IDEA中打开项目时,选此文件路径 进入项目转换界面,默认一步步完成 导入的项目之后,需要在"Project Structure"做对应配置 Modules:将文件夹标记成对应的类型(主要是src标记为Sesource.config标记为Resource.WebRoot标记为Resource等) Libraries:导入WEB-INF/lib中的包(否则项目中各

Tomcat发布Maven项目遇到的种种异常(转:http://blog.csdn.net/zhang6622056/article/details/9772951)

前言: 本问题出现在tomcat 7发布 web3.0Maven项目的时候出现. 1.RUN参数的配置 2.关于WEB.XML不发布的解决方案 3.MAVEN依赖的JAR包不发布的解决方案 4.经历说明 问题阐述: 异常:java.lang.OutOfMemoryError:PermGen space 解决如下: 1. 在MAVEN_HOME/bin/mvn.bat文件加入一句话: 搜索@REM set MAVEN_OPTS= 在它下面加入一句话:set MAVEN_OPTS= -Xms128m

Maven学习总结(二)——Maven项目构建过程练习

Maven学习总结(二)——Maven项目构建过程练习 上一篇只是简单介绍了一下maven入门的一些相关知识,这一篇主要是体验一下Maven高度自动化构建项目的过程 一.创建Maven项目 1.1.建立Hello项目 1.首先建立Hello项目,同时建立Maven约定的目录结构和pom.xml文件 Hello | --src | -----main | ----------java | ----------resources | -----test | ---------java | -----

eclipse使用tomcat打开maven项目时,报警告 警告: [SetContextPropertiesRule]{Context} Setting property &#39;source&#39; to &#39;org.eclipse.jst.jee.server:wechatManage&#39; did not find a matching property.

我是Tomcat7.0,网上的一些做法根本实现不了!而且一个copy一个,真的烦. 我的解决方法: 将server.xml文件中的 <Context docBase="wechatManage" path="/wechatManage" reloadable="false" source="org.eclipse.jst.jee.server:wechatManage"/> 改成 <Context docBa