spring boot 调整内置tomcat版本

tomcat最近报ajp协议漏洞,如果应用是以war包部署在单独的tomacat中,需要修改相关配置,并要求升级tomcat到对应的版本,具体要求可以参考下面这篇文章

https://bbs.huaweicloud.com/blogs/151237

但是spring boot内置tomcat这种,如果没有单独设置ajp协议的,实际上不用升级内置tomcat版本,但是如果一定要升级的话,可以参考如下步骤

1.首先在pom文件的properties节中增加<tomcat.version>****</tomcat.version>(tomcat.version的名字不能写错,因为在其它jar包的pom文件中可能引用了tomcat.version),这样在本项目中引用tomcat.version的地方就都会更改了,这里我们项目的tomcat升级到的对应版本是8.5.51和9.0.31,就改成<tomcat.version>8.5.51</tomcat.version>和<tomcat.version>9.0.31</tomcat.version>

复制代码
<maven.test.skip>true</maven.test.skip>
        <log4j-nosql.version>2.9.1</log4j-nosql.version>
        <mybatis-plus.version>2.1.9</mybatis-plus.version>
        <druid.version>1.1.6-JXD-1</druid.version>
        <fastjson.version>1.2.44</fastjson.version>
        <spring-boot-starter.version>1.5.10.RELEASE</spring-boot-starter.version>
        <mysql-connector-java.version>5.1.38</mysql-connector-java.version>
        <spring-boot-starter-quartz.version>2.0.0.RELEASE</spring-boot-starter-quartz.version>
        <mybatisplus-spring-boot-starter.version>1.0.5</mybatisplus-spring-boot-starter.version>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <tomcat.version>8.5.51</tomcat.version>
复制代码

之后刷新maven

 引用的tomcat就会升级到对应的版本

但是有的版本运行时会报错,原因可能是,有的类库会引用你所升级的tomcat版本(我的是8.5.51)中没有的相关的tomcat的jar包,这时需要手动引用一下,

例如:

复制代码
<dependency>
            <groupId>org.apache.tomcat</groupId>
            <artifactId>tomcat-annotations-api</artifactId>
            <version>8.5.51</version>
        </dependency>
        <dependency>
            <groupId>org.apache.tomcat</groupId>
            <artifactId>tomcat-jdbc</artifactId>
            <version>8.5.51</version>
        </dependency>
复制代码
原文地址:https://www.cnblogs.com/cuijinlong/p/14276986.html