当前位置: 代码网 > 服务器>服务器>Tomcat > SpringBoot 升级内嵌Tomcat的操作示例

SpringBoot 升级内嵌Tomcat的操作示例

2024年05月18日 Tomcat 我要评论
springboot 更新 tomcat最近公司的一个老项目需要升级下tomcat,由于这个项目我完全没有参与,所以一开始我以为是一个老的tomcat项目,升级它的tomcat依赖或者是tomcat容

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内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com