springboot在tomcat中启动两次的问题


有两个可能性的

1.springboot 的内置tomcat没有去掉,导致springboot 和tomcat 分别启动了1次

2.完全是tomcat 启动了两次

第一个问题:我们在springboot pom.xml中

<packaging>war</packaging>  

<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>  

<!--添加servlet的依赖-->  

<dependency>  

  <groupId>javax.servlet</groupId>  

  <artifactId>javax.servlet-api</artifactId>  

  <version>3.1.0</version>  

  <scope>provided</scope>  

</dependency>  

第二个问题:在tomcat 的server.xml中 把host的appBase 换为“”,然后启动就好了

或者你在tomcat内部新建一个webroot 文件夹 然后把appBase换成webroot 也可以

就是host 和context 分别启动了两次

当时看到这的时候以为肯定是这两个问题,一定能解决,结果我们改完之后,测试还是不好使
然后经过测试

发现是springboot 启动类 @SpringBootApplication的类 把 extends 的去掉就好了

具体原因就不在这里说明了,但是基本上 springboot 在 tomcat 中发布两次的问题 就这三个原因了


文章作者: ZYJ
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 ZYJ !
  目录