我有时会在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?还是有什么原因?
引自加西亚的回答。
即使它是提供的,但当您构建为war时,SpringBootMaven插件将包含另外两个jar:ecj-3.12。3.jar tomcat-embed-jasper-8.5。23.5罐
如你所说,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很好。 这个项目