当前位置: 首页 > 知识库问答 >
问题:

springboot嵌入式tomcat和tomcat嵌入式jasper

宰父涵忍
2023-03-14

我有时会在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>
    ....

如您所见,sping-boo-starter-web被声明为tomcat-embed-jasper。

是不是sping-boo-starter-web已经有一个嵌入式tomcat了?为什么一些开发人员仍然声明tomcat-embed-jasper以及boot-starter-web?还是有什么原因?

共有2个答案

贲绪
2023-03-14

引自加西亚的回答。

即使它是提供的,但当您构建为war时,SpringBootMaven插件将包含另外两个jar:ecj-3.12。3.jar tomcat-embed-jasper-8.5。23.5罐

边桐
2023-03-14

如你所说,sping-boo-starter-web包含了sping-boo-starter-tomcat。你可以在这里查

springbootstarter-tomcat包括tomcat嵌入式内核。你可以在这里查一下

但是,似乎tomcat-embed-core不包括tomcat-embed-jasper。事实上,是tomcat-embed-jasper,它包含与tomcat-embed-core的依赖关系。在这里检查一下

无论如何,tomcat-embed-jasper被标记为provided,因此表示您希望JDK或容器在运行时提供依赖关系。此范围仅在编译和测试类路径上可用,并且不可传递。

总之,springbootstarterweb包含tomcat嵌入式依赖项,但不包含jasper嵌入式依赖项,因此应该单独声明它。

另外,请记住,使用SpringIO平台作为父级,您可以轻松地管理依赖关系。要了解更多信息,你可以阅读我的帖子

希望有帮助,

 类似资料:
  • 使用Spring Boot和启用LoadTimeWeaving的嵌入式tomcat,缓存方面在运行时没有任何影响,但我们看到在日志中编织的情况很好。 下面是配置,LoadTimeWeave与模式一起启用,作为用于缓存的AsheJ Spring代理-javaagent:..//Spring-仪表-4.3.3。释放。罐子 原木 围绕这个有很多讨论。编织发生在RestartClassLoader上,不确

  • 问题内容: 如何为Spring Boot嵌入式Tomcat设置? 这里描述的connector属性,但是Spring Boot 文档中没有列出这样的参数。 一般如何设置Tomcat的Connector属性? 问题答案: 我不确定是否可以使用属性文件来执行此操作。我相信这应该有用

  • 我使用spring boot嵌入式tomcat和spring boot 1.5.9,im也使用Log4J2。 最近我在加载过程中遇到了一些问题,所以我想更好地理解tomcat日志[而不是access日志],我尝试了(在application.properties中): 但上述方法都不奏效。有没有别的办法实现呢?

  • 我正试图在我的Grails3应用程序中结合一个JNDI配置,它使用嵌入式TomcatServlet容器以及独立的Tomcat容器(由我们的系统团队设置)。 我已经用这个SO问题让我的JNDI配置与嵌入式Tomcat容器一起工作(用于本地主机开发,例如grails run app)。 当我在Tomcat独立服务器上运行我的应用程序时(在构建war文件之后),在Tomcat服务器中使用JNDI配置,我

  • 我正在尝试在一个新的Spring Boot应用程序中使用WebFlux反应类型。我在https://start.spring.io上使用了initializr,并选择了2.0.0快照版本。我添加了web reactive dependency,我所做的一切工作都很好。这是一个非常可靠的POC,目标是如何利用这些类型来更新我们的API,为了做到这一点,我们计划缓慢地替换阻塞和/或同步进程的每个部分,

  • 我正在运行一个Spring web应用程序,但未能在最新的Eclipse中使用Tomcat7 Maven插件执行嵌入式tomcat,在windows上运行goal,但未能将其配置为运行Tomcat8.5,它一直查找Tomcat7文件夹。 tomcat7:run-war使用嵌入式Tomcat服务器将当前项目作为打包的web应用程序运行。 我找到了答案或这个答案,但它对部署tomcat很好。 这个项目