springboot在tomcat中启动两次的问题

mac2026-06-05  7

有两个可能性的

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 中发布两次的问题 就这三个原因了

最新回复(0)