本文由 简悦 SimpRead 转码, 原文地址 blog.csdn.net
-
解析 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>这块配置就是 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>可以查看到我们使用的 tomcat 版本为 9.0.12。
①可以直接在这里修改你想要的 tomcat 版本②在你自己的项目的 pom 里面添加版本,就可以直接覆盖这里的版本了。如:
<properties> <tomcat.version>10.0.0</tomcat.version> </properties>添加这个之后,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因为这个时候的 tocmat 缺少 jar 包,maven 项目的话加上下面这个依赖就好了:
<dependency> <groupId>org.apache.tomcat</groupId> <artifactId>tomcat-juli</artifactId> <version>${tomcat.version}</version> </dependency>tomcat 9.0 官方说明文档:http://tomcat.apache.org/tomcat-9.0-doc/config/http.html
转载至:https://blog.csdn.net/iamlihongwei/article/details/101759986