【转】详解springboot-修改内置tomcat版本

一、解析Spring Boot父级依赖java

1 <parent> 
2  <groupId>org.springframework.boot</groupId> 
3  <artifactId>spring-boot-starter-parent</artifactId> 
4  <version>1.5.6.RELEASE</version> 
5 </parent> 

这块配置就是Spring Boot父级依赖,有了这个,当前的项目就是Spring Boot项目了,spring-boot-starter-parent是一个特殊的starter,它用来提供相关的Maven默认依赖,使用它以后,经常使用的包依赖能够省去version标签。关于Spring Boot提供了哪些jar包的依赖,可查看C:\Users\用户.m2\repository\org\springframework\boot\spring-boot-dependencies\1.5.1.RELEASE\spring-boot-dependencies-1.5.1.RELEASE.pomspring

二、打开这个pom文件,搜索“tomcat.version” 会找到:<tomcat.version>8.5.16</tomcat.version>apache

①能够直接在这里修改你想要的tomcat版本tomcat

②在你本身的项目的pom里面添加版本,就能够直接覆盖这里的版本了。如:maven

Pom中tomcat版本配置代码 spring-boot

1 <properties> 
2   <tomcat.version>8.0.29</tomcat.version> 
3 </properties>

添加这个以后,spingboot的默认启动的tomcat版本就能够达到你本身须要的了。到这里基本就完成了。spa

可是有时候启动会报错:code

Tomcat启动报错代码 blog

1 Caused by: java.lang.NoClassDefFoundError: org/apache/juli/logging/LogFactory 2   at org.apache.catalina.util.LifecycleBase.<clinit>(LifecycleBase.java:37) 3   at org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainerFactory.getEmbeddedServletContainer(TomcatEmbeddedServletContainerFactory.java:169) 4   at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.createEmbeddedServletContainer(EmbeddedWebApplicationContext.java:164) 5   at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.onRefresh(EmbeddedWebApplicationContext.java:134) 6   ... 13 common frames omitted 7  

由于这个时候的tocmat缺乏jar包,maven项目的话加上下面这个依赖就行了:ci

1 <dependency> 
2    <groupId>org.apache.tomcat</groupId> 
3    <artifactId>tomcat-juli</artifactId> 
4    <version>${tomcat.version}</version> 
5  </dependency>
相关文章
相关标签/搜索