SpringBoot2.0.4部署在tomcat容器中

1.  修改启动类继承自SpringBootServletInitializer。

2. 重写config方法:

@Overrideprotected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {    return builder.sources(ManagementApplication.class);}

3.  在pom文件中加入引用

<dependency>    <groupId>org.springframework.boot</groupId>    <artifactId>spring-boot-starter-tomcat</artifactId>    <scope>provided</scope></dependency><dependency>    <groupId>org.apache.maven.plugins</groupId>    <artifactId>maven-war-plugin</artifactId>    <version>3.1.0</version>    <scope>provided</scope></dependency>

4. 修改war包编译

<packaging>war</packaging>

5. 将生成的war包名字修改为ROOT.war并放到webapps下面。

6. 启动。

7. 问题汇总:

  • 在tomcat部署中首先要排除springboot自带的tomcat,有两种办法:

             第一种用 <exclusions>,第二种引入tomcat包。

  • jak版本与tomcat版本匹配

             jdk1.7 一般对应tomcat7.X

             jdk1.8 一般对应tomcat8.X

项目中如果引用了其他的jar包,在启动的时候会报错误NoSuchClassFound,如:

这个的意思是我们用了ElasticSearch,必须使用tomcat8才能启动。

点赞
收藏

评论区

加载中...

相关推荐

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(

手写Java HashMap源码

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

Java学习 Day01 多线程

Java学习Day01多线程Java多线程实现方式有2种1.继承Thread类,重写run方法案例测试类Thread01Javapackagetop.wanqq.thread;/@authorwanqq/publicclassThread01extendsThread@Overridepubli

前端性能优化 - 雅虎军规

无论是在工作中,还是在面试中,web前端性能的优化都是很重要的,那么我们进行优化需要从哪些方面入手呢?可以遵循雅虎的前端优化35条军规,这样对于优化有一个比较清晰的方向.35条军规1.尽量减少HTTP请求个数——须权衡2.使用CDN(内容分发网络)3.为文件头指定Expires或CacheControl,使内容具有缓存性。4.避免空的

一篇文章弄懂Java多线程基础和Java内存模型

文章目录一、多线程的生命周期及五种基本状态二、Java多线程的创建及启动1.继承Thread类,重写该类的run()方法2.通过实现Runnable接口创建线程类3.通过Callable和Future接口创建线程三、Java内存模型概念四、内存间的交互操作五、volatile和synchronized的