springboot嵌入式tomcat和tomcat嵌入碧玉

我有时会在pom.xml中看到以下声明…

   <dependencies>

<dependency>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-web</artifactId>

</dependency>

<dependency>

<groupId>javax.servlet</groupId>

<artifactId>jstl</artifactId>

</dependency>

<dependency>

<groupId>org.apache.tomcat.embed</groupId>

<artifactId>tomcat-embed-jasper</artifactId>

<scope>provided</scope>

</dependency>

....

如您所见,spring-boot-starter-web和tomcat-embed-jasper都被声明了。

spring-boot-starter-web是否已经具有嵌入式tomcat?为什么有些开发人员仍将bootcat-starter-web和tomcat-

embed-jasper一起声明?还是有什么原因?

回答:

如您所说,spring-boot-starter-web包括spring-boot-starter-

tomcat。你可以在这里检查

spring-boot-starter-tomcat包括tomcat-embed-

core。你可以在这里检查

但是,似乎tomcat-embed-core不包含tomcat-embed-jasper。实际上,是tomcat-embed-

jasper谁在包含依赖项tomcat-embed-

core。在这里检查

无论如何,tomcat-embed-

jasper标记为provided,因此表明您希望JDK或容器在运行时提供依赖项。该作用域仅在编译和测试类路径上可用,并且不可传递。

总之,spring-boot-starter-web包括tomcat嵌入式依赖关系,但不包括jasper嵌入式依赖关系,因此这应该是分别声明它的原因。

另外,请记住,使用Spring IOPlatform作为父级,您可以轻松管理依赖项。

希望能帮助到你,

以上是 springboot嵌入式tomcat和tomcat嵌入碧玉 的全部内容, 来源链接: utcz.com/qa/403656.html

回到顶部