SpringBoot 升级内嵌Tomcat的操作示例

 更新时间:2023年08月07日 14:53:54   作者:Jim.KK  
这篇文章主要介绍了SpringBoot升级内嵌Tomcat,这里采用的是屏蔽旧的依赖,然后手动写dependency的方式,本文结合示例代码给大家介绍的非常详细,需要的朋友可以参考下

SpringBoot 更新 Tomcat

最近公司的一个老项目需要升级下Tomcat,由于这个项目我完全没有参与,所以一开始我以为是一个老的Tomcat项目,升级它的Tomcat依赖或者是Tomcat容器镜像,后面发现是一个SpringBoot项目,升级的是SpringBoot内置的Tomcat。

这样的升级可以保证项目最小变动的情况下,将一个不安全版本的内部依赖升级成安全版本的内置依赖,还是比较有用的,因此在这里做一下记录。

我这里采用的是屏蔽旧的依赖,然后手动写dependency的方式:

1.首先找到在Maven依赖文件中找到SpringBoot-starter-web:

  <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-web</artifactId>
  </dependency>

如果你要升级的是其他的内置依赖,可以先在右侧Maven-Dependency中找到这个依赖,以确定该依赖是在哪个包下面的,然后进行如下操作即可。

2.使用<exclusion>标签屏蔽内置的旧的Tomcat依赖

 <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-web</artifactId>
      <exclusions>
          <exclusion>
              <groupId>org.springframework.boot</groupId>
              <artifactId>spring-boot-starter-tomcat</artifactId>
          </exclusion>
          <exclusion>
              <groupId>org.apache.tomcat.embed</groupId>
              <artifactId>tomcat-embed-core</artifactId>
          </exclusion>
          <exclusion>
              <groupId>org.apache.tomcat.embed</groupId>
              <artifactId>tomcat-embed-el</artifactId>
          </exclusion>
          <exclusion>
              <groupId>org.apache.tomcat.embed</groupId>
              <artifactId>tomcat-embed-websocket</artifactId>
          </exclusion>
          <exclusion>
              <groupId>org.apache.tomcat</groupId>
              <artifactId>tomcat-annotations-api</artifactId>
          </exclusion>
      </exclusions>
  </dependency>

进行到这一步骤,再次点到Maven-依赖中查看SpringBoot-Starter-Web下面查看,原来的Tomcat已经没有了。

3.通过dependency标签引入新的Tomcat依赖

<properties>
    <java.version>1.8</java.version>
    <tomcat.version>9.0.63</tomcat.version>
</properties>
<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
        <exclusions>
            <exclusion>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-tomcat</artifactId>
            </exclusion>
            <exclusion>
                <groupId>org.apache.tomcat.embed</groupId>
                <artifactId>tomcat-embed-core</artifactId>
            </exclusion>
            <exclusion>
                <groupId>org.apache.tomcat.embed</groupId>
                <artifactId>tomcat-embed-el</artifactId>
            </exclusion>
            <exclusion>
                <groupId>org.apache.tomcat.embed</groupId>
                <artifactId>tomcat-embed-websocket</artifactId>
            </exclusion>
            <exclusion>
                <groupId>org.apache.tomcat</groupId>
                <artifactId>tomcat-annotations-api</artifactId>
            </exclusion>
        </exclusions>
    </dependency>
    <dependency>
        <groupId>org.apache.tomcat.embed</groupId>
        <artifactId>tomcat-embed-core</artifactId>
        <version>${tomcat.version}</version>
        <exclusions>
            <exclusion>
                <groupId>org.apache.tomcat</groupId>
                <artifactId>tomcat-annotations-api</artifactId>
            </exclusion>
        </exclusions>
    </dependency>
    <dependency>
        <groupId>org.apache.tomcat</groupId>
        <artifactId>tomcat-annotations-api</artifactId>
        <version>${tomcat.version}</version>
    </dependency>
    <dependency>
        <groupId>org.apache.tomcat.embed</groupId>
        <artifactId>tomcat-embed-el</artifactId>
        <version>${tomcat.version}</version>
    </dependency>
    <dependency>
        <groupId>org.apache.tomcat.embed</groupId>
        <artifactId>tomcat-embed-websocket</artifactId>
        <version>${tomcat.version}</version>
        <exclusions>
            <exclusion>
                <groupId>org.apache.tomcat.embed</groupId>
                <artifactId>tomcat-embed-core</artifactId>
            </exclusion>
        </exclusions>
    </dependency>
    <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
        <optional>true</optional>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>
</dependencies>

新的依赖引入成功,启动一下项目试一下:

启动成功!更新完成!

一览全貌:

参考文章:【Spring Boot启动过程(六)之内嵌Tomcat中StandardHost、StandardContext和StandardWrapper的启动教程详解】

到此这篇关于SpringBoot 升级内嵌Tomcat的文章就介绍到这了,更多相关SpringBoot 内嵌Tomcat内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Tomcat的类加载机制流程及源码解析

    Tomcat的类加载机制流程及源码解析

    我们知道,ava默认的类加载机制是通过双亲委派模型来实现的,而Tomcat实现的方式又和双亲委派模型有所区别,下面这篇文章主要给大家介绍了关于Tomcat类加载机制流程的相关资料,需要的朋友可以参考下
    2021-11-11
  • Linux安装与卸载Tomcat8的详细图文教程

    Linux安装与卸载Tomcat8的详细图文教程

    这篇文章主要介绍了Linux安装与卸载Tomcat8的详细图文教程,在卸载tomcat之前需要先暂停tomcat,本文通过图文并茂的形式给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-12-12
  • 在无界面centos7上部署jdk和tomcat的教程

    在无界面centos7上部署jdk和tomcat的教程

    这篇文章主要介绍了在无界面centos7上部署jdk和tomcat 的教程,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-06-06
  • tomcat漏洞汇总

    tomcat漏洞汇总

    本文主要介绍了tomcat漏洞汇总,文中通过代码和示例介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-05-05
  • Tomcat添加manager用户的实现

    Tomcat添加manager用户的实现

    Tomcat没有配置任何默认的用户,因此需要我们进行相应的用户配置之后才能使用Tomcat Manager,本文就来介绍一下Tomcat添加manager用户的实现,感兴趣的可以了解一下
    2023-10-10
  • Tomcat的安装与使用及Maven与Servlet的使用教程

    Tomcat的安装与使用及Maven与Servlet的使用教程

    这篇文章主要介绍了Tomcat的安装与使用及Maven与Servlet的使用教程,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-07-07
  • Tomcat服务器 安全设置

    Tomcat服务器 安全设置

    tomcat是一个开源Web服务器,基于Tomcat的Web运行效率高,可以在一般的硬件平台上流畅运行,因此,颇受Web站长的青睐。不过,在默认配置下其存在一定的安全隐患,可被恶意攻击。
    2009-08-08
  • 一次tomcat自动关闭的bug解决

    一次tomcat自动关闭的bug解决

    这篇文章主要给大家介绍了一次关于tomcat自动关闭的bug的解决过程,文中通过示例代码介绍的非常详细,对大家学习或者使用tomcat具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-08-08
  • 让IIS6支持JSP的设置方法(IIS完美整合Tomcat)

    让IIS6支持JSP的设置方法(IIS完美整合Tomcat)

    这方面的教程网上很多,多数是copy之后又copy,以至于有些细节一直含糊不清,也导致我走了许多弯路,今天脚本之家小编特为大家整理了一些方法,经测试正常运行jsp
    2014-07-07
  • maven项目远程部署&&使用tomcat配置数据库连接的方法

    maven项目远程部署&&使用tomcat配置数据库连接的方法

    这篇文章主要介绍了maven项目远程部署&&使用tomcat配置数据库连接,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-07-07

最新评论