赞
踩
解析Spring Boot父级依赖
去到项目的根pom文件中,找到parent依赖:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>${springboot.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
1234567
这块配置就是Spring Boot父级依赖,有了这个,当前的项目就是Spring Boot项目了,spring-boot-starter-parent是一个特殊的starter,它用来提供相关的Maven默认依赖,使用它之后,常用的包依赖可以省去version标签。关于Spring Boot提供了哪些jar包的依赖,可以查看当前用的springboot版本对应的pom文件:/Users/mac/MavenRepo/org/springframework/boot/spring-boot-dependencies/2.1.0.RELEASE/spring-boot-dependencies-2.1.0.RELEASE.pom
打开这个pom文件,搜索 tomcat.version
<tomcat.version>9.0.12</tomcat.version>
1
可以查看到我们使用的tomcat版本为9.0.12。
①可以直接在这里修改你想要的tomcat版本
②在你自己的项目的pom里面添加版本,就可以直接覆盖这里的版本了。如:
<properties>
<tomcat.version>10.0.0</tomcat.version>
</properties>
123
添加这个之后,spingboot的默认启动的tomcat版本就可以达到你自己需要的了。到这里基本就完成了。
但是有时候启动会报错:
Caused by: java.lang.NoClassDefFoundError: org/apache/juli/logging/LogFactory
at org.apache.catalina.util.LifecycleBase.<clinit>(LifecycleBase.java:37)
at org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainerFactory.getEmbeddedServletContainer(TomcatEmbeddedServletContainerFactory.java:169)
at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.createEmbeddedServletContainer(EmbeddedWebApplicationContext.java:164)
at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.onRefresh(EmbeddedWebApplicationContext.java:134)
... 13 common frames omitted
123456
因为这个时候的tocmat缺少jar包,maven项目的话加上下面这个依赖就好了:
<dependency>
<groupId>org.apache.tomcat</groupId>
<artifactId>tomcat-juli</artifactId>
<version>${tomcat.version}</version>
</dependency>
12345
tomcat 9.0 官方说明文档:http://tomcat.apache.org/tomcat-9.0-doc/config/http.html
转载至:https://blog.csdn.net/iamlihongwei/article/details/101759986
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。