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