Springboot修改内嵌Tomcat版本

Easter79
• 阅读 516

最近Tomcat爆出高危漏洞,基本影响所有的Tomcat版本,故需要对springboot项目进行版本升级
ps:一般不建议修改springboot内嵌版本,内嵌版本都是经过验证比较稳定的版本

1、查询springboot内嵌的版本

使用idea等工具可以直接通过pom文件查看下面parent里面的Tomcat版本

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.1.12.RELEASE</version>
    <type>pom</type>
</dependency>

也可以通过mvnrepository,查询上面依赖,找到对应的版本点进去,往下拉会看到Tomcat版本,例如:
Springboot修改内嵌Tomcat版本

2、修改内嵌版本

非常简单,直接通过添加properties的Tomcat版本就能解决,如下:

<properties>
  <tomcat.version>9.0.31</tomcat.version>
</properties>

添加这个之后,spingboot的默认启动的tomcat版本就可以达到你自己需要的了。到这里基本就完成了。

3、异常情况

如果发现出现以下启动报错,说明缺少依赖tomcat-juli

Caused by: java.lang.NoClassDefFoundError: org/apache/juli/logging/LogFactory
  at org.apache.catalina.util.LifecycleBase.<clinit>(LifecycleBase.java:37)
  at org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainerFactory.getEmbeddedServletContainer(TomcatEmbeddedServletContainerFactory.java:169)
  at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.createEmbeddedServletContainer(EmbeddedWebApplicationContext.java:164)
  at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.onRefresh(EmbeddedWebApplicationContext.java:134)
  ... 13 common frames omitted

到这里基本就结束了,springboot启动会看到Tomcat的版本号:

Springboot修改内嵌Tomcat版本


关注Github:1/2极客

关注博客:御前提笔小书童

关注网站:HuMingfeng

关注公众号:开发者的花花世界

Springboot修改内嵌Tomcat版本

点赞
收藏
评论区
推荐文章
blmius blmius
2年前
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
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
风斗 风斗
3年前
Android 通知栏使用
不同版本通知栏的创建方式不尽相同,当前官方推荐使用NotificationCompat相关的API,兼容到Android4.0,但是部分新功能,比如内嵌回复操作,旧版本是无法支持的。一、设置通知内容//CHANNEL_ID,渠道ID,Android8.0及更高版本必须要设置NotificationCompat.Builde
Wesley13 Wesley13
2年前
ubuntu 18.04 server下tomcat部署sprongboot项目
1springboot项目相关1.1修改pom.xml文件依赖如果要将最终的打包形式改为war的话,还需要对pom.xml文件进行修改,因为springbootstarterweb中包含内嵌的tomcat容器,所以直接部署在外部容器会冲突报
Easter79 Easter79
2年前
SpringBoot内嵌Tomcat开启APR模式(运行环境为Centos7)
网上查到的一些springboot内嵌的tomcat开启apr的文章,好像使用的springboot版本较老,在SpringBoot2.0.4.RELEASE中已经行不通了。自己整理了一下,供参考。运行环境:Centos7,JDK1.81.pom.xml代码如下:<projectxmlns"http://maven.apache
Wesley13 Wesley13
2年前
3 SpringBoot与微服务
SpringBoot的使用?化繁为简:SpringMVC需要定义各种配置,配置文件多。SpringBoot的核心功能?  独立运行:javajarXXX.jar(以前启动SPringMVC需要有服务器,比如tomcat)  内嵌web服务器:内嵌Tomcat.  简化配置:用starter
Stella981 Stella981
2年前
SpringBoot使用JSP(官网Demo)
最开始接触java的时候,前端页面基本都是用jsp来写,最近公司项目要使用SpringBoot重构,查看SpringBoot文档,发现SpringBoot不建议使用JSP,因为jsp在使用内嵌servlet容器时会有一些限制!(https://img2018.cnblogs.com/blog/562030/201901/56203020190120
Stella981 Stella981
2年前
Linux下部署springboot项目的步骤及过程
最近在研究将springboot项目部署到Linux服务器上,由于springboot是内嵌了tomcat,所以可以直接将项目打包上传至服务器上。我是在idea上的项目,所以我就基于此说下过程。(一)打包你的项目1、在pom文件中添加springboot的maven插件 !(https://img2018.cnblogs.com/blog/1
Stella981 Stella981
2年前
SpringBoot内嵌Tomcat开启APR模式(运行环境为Centos7)
网上查到的一些springboot内嵌的tomcat开启apr的文章,好像使用的springboot版本较老,在SpringBoot2.0.4.RELEASE中已经行不通了。自己整理了一下,供参考。运行环境:Centos7,JDK1.81.pom.xml代码如下:<projectxmlns"http://maven.apache
Easter79 Easter79
2年前
SpringBoot使用JSP(官网Demo)
最开始接触java的时候,前端页面基本都是用jsp来写,最近公司项目要使用SpringBoot重构,查看SpringBoot文档,发现SpringBoot不建议使用JSP,因为jsp在使用内嵌servlet容器时会有一些限制!(https://img2018.cnblogs.com/blog/562030/201901/56203020190120
Easter79
Easter79
Lv1
今生可爱与温柔,每一样都不能少。
文章
2.8k
粉丝
5
获赞
1.2k