为什么 spring-boot-starter-tomcat 在 spring-boot 中不是可选的?

问题描述

根据https://docs.spring.io/spring-boot/docs/2.0.0.M5/reference/html/howto-embedded-web-servers.htmlspring-boot-starter-web的pom:https://search.maven.org/artifact/org.springframework.boot/spring-boot-starter-web/2.4.4/jar。 我们可以在 spring-boot 中用 jetty 替换 tomcat。那么为什么不在 pom 中将其标记为可选呢?

解决方法

如果 spring-boot-starter-tomcat 被标记为可选,默认情况下不会提供嵌入式容器,并且使用 spring-boot-starter-web 的应用程序将无法启动。默认情况下使用 Tomcat 是在为乐于使用 Tomcat 的大多数用户提供便利与对于那些想要使用 Jetty 或 Undertow 的用户来说稍微复杂一些之间的权衡。