SpringBoot发布到独立的tomcat中运行

举报
小米粒-biubiubiu 发表于 2020/11/30 23:20:48 2020/11/30
7.9k+ 0 0
【摘要】 尽管Spring Boot项目会内置一个tomcat,仅只需通过一个简单的指令便可启动项目,但在生产环境下,我们还是习惯将项目发布到第三外的servlet容器中,下面将介绍如果将一个Spring Boot项目部署到第三方tomcat中运行。 1)修改工程的打包方式为war 2)将spring-boot-starter-tomcat的范围设置为provided spr...

尽管Spring Boot项目会内置一个tomcat,仅只需通过一个简单的指令便可启动项目,但在生产环境下,我们还是习惯将项目发布到第三外的servlet容器中,下面将介绍如果将一个Spring Boot项目部署到第三方tomcat中运行。

1)修改工程的打包方式为war

这里写图片描述

2)将spring-boot-starter-tomcat的范围设置为provided

spring-boot-starter-tomcat是Spring Boot默认就会配置的,即上面说到的内嵌tomcat,将其设置为provided是在打包时会将该包(依赖)排除,因为要放到独立的tomcat中运行,Spring Boot内嵌的Tomcat是不需要用到的。


      <!--spring boot tomcat(默认可以不用配置,但当需要把当前web应用布置到外部servlet容器时就需要配置,并将scope配置为provided)-->
      <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-tomcat</artifactId>
      <scope>provided</scope>
      </dependency>
  
 

3)修改代码,设置启动配置

需要继承SpringBootServletInitializer,并重写configure()方法,将Spring Boot的入口类设置进去。


      // 若要部署到外部servlet容器,需要继承SpringBootServletInitializer并重写configure()
      @SpringBootApplication
      public class AhutApplication extends SpringBootServletInitializer{
      @Override
      protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
      // 设置启动类,用于独立tomcat运行的入口
      return builder.sources(MyWebApplication.class);
       }
      }
  
 

4)打war包并部署到tomcat

选中项目,右键 > export

这里写图片描述

文章来源: blog.csdn.net,作者:血煞风雨城2018,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/qq_31905135/article/details/81566030

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

作者其他文章

评论(0

抱歉,系统识别当前为高风险访问,暂不支持该操作

    全部回复

    上滑加载中

    设置昵称

    在此一键设置昵称,即可参与社区互动!

    *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

    *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。