详解springboot-修改内置tomcat版本

1、解析Spring Boot父级依赖

org.springframework.boot spring-boot-starter-parent 1.5.6.RELEASE

这块配置就是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.pom

 2、打开这个pom文件,搜索“tomcat.version” 会找到:8.5.16

    ①可以直接在这里修改你想要的tomcat版本

    ②在你自己的项目的pom里面添加版本,就可以直接覆盖这里的版本了。如:

Pom中tomcat版本配置代码 

8.0.29

  添加这个之后,spingboot的默认启动的tomcat版本就可以达到你自己需要的了。到这里基本就完成了。

  但是有时候启动会报错:

Tomcat启动报错代码 

Caused by: java.lang.NoClassDefFoundError: org/apache/juli/logging/LogFactory at org.apache.catalina.util.LifecycleBase.(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项目的话加上下面这个依赖就好了:

org.apache.tomcat tomcat-juli ${tomcat.version}