springBoot使用外部Tomcat启动项目

实现思路是:

将springBoot项目自带的tomcat在部署的时候不使用。

方法一:将springBoot自带tomcat编辑成只在编译和测试时使用。

转载出处:https://www.edurt.com/group/14/thread/82

  1. 将pom文件中jar改成war,内置tomcat要改成provide
    <dependency>
      <groupId>org.apache.tomcat.embed</groupId>
      <artifactId>tomcat-embed-jasper</artifactId>
      <scope>provided</scope>
    </dependency>
  2. 项目的启动类改成如下
    @SpringBootApplication
    @Configuration
    @EnableConfigurationProperties
    public class BaseApplication extends SpringBootServletInitializer {
      
      @Override
      protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
        return application.sources(BaseApplication.class);
      }
    
      public static void main(String[] args) {
        SpringApplication.run(BaseApplication.class, args);
      }
    
    }

方法二:将springBoot内置tomcat移除,添加使用外部tomcat的依赖。

 一部分转载出处:https://blog.csdn.net/ke7in1314/article/details/79150713

1.重写springbootApp初始化方法

@SpringBootApplication
public class KafkaApplication extends SpringBootServletInitializer { //继承初始化类,并重写该方法 public static void main(String[] args) { SpringApplication.run(KafkaApplication.class, args); } @Override protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) { return builder.sources(KafkaApplication.class); } }

2.修改pom.xml打包方式为war

<packaging>war</packaging>
  • 1

3.增加pom.xml依赖

<dependency>
    <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> <scope>provided</scope> </dependency>
4.此方法应该添加此项(我没测试)
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<!-- 移除嵌入式tomcat插件 -->
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</exclusion>
</exclusions>
</dependency>
 

猜你喜欢

转载自www.cnblogs.com/ConfidentLiu/p/9462751.html
今日推荐