欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  网络运营

详解springboot-修改内置tomcat版本

程序员文章站 2022-09-25 20:59:17
详解springboot-修改内置tomcat版本 1、解析spring boot父级依赖 o...

详解springboot-修改内置tomcat版本

1、解析spring boot父级依赖

<parent> 
 <groupid>org.springframework.boot</groupid> 
 <artifactid>spring-boot-starter-parent</artifactid> 
 <version>1.5.6.release</version> 
</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.pom

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

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

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

pom中tomcat版本配置代码 

<properties> 
  <tomcat.version>8.0.29</tomcat.version> 
</properties> 

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

  但是有时候启动会报错:

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>

以上就是springboot-修改内置tomcat版本的实例,如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!