【轉】詳解springboot-修改內置tomcat版本


1、解析Spring Boot父級依賴

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.pom

2、打開這個pom文件,搜索“tomcat.version” 會找到:<tomcat.version>8.5.16</tomcat.version>

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

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

Pom中tomcat版本配置代碼 

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

添加這個之后,spingboot的默認啟動的tomcat版本就可以達到你自己需要的了。到這里基本就完成了。

但是有時候啟動會報錯:

Tomcat啟動報錯代碼 

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項目的話加上下面這個依賴就好了:

1 <dependency> 
2    <groupId>org.apache.tomcat</groupId> 
3    <artifactId>tomcat-juli</artifactId> 
4    <version>${tomcat.version}</version> 
5  </dependency>

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM