前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。
1、解析Spring Boot父級依賴
1 2 3 4 5 6 | <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
( PS:我的路徑是在:C:\Users\用戶名\.m2\repository\org\springframework\boot\spring-boot-dependencies\1.5.2.RELEASE下有對應pom文件 )?
?2、打開這個pom文件,搜索“tomcat.version” 會找到:<tomcat.version>8.5.16</tomcat.version>
??? ①可以直接在這里修改你想要的tomcat版本
??? ②在你自己的項目的pom里面添加版本,就可以直接覆蓋這里的版本了。如:
Pom中tomcat版本配置代碼?
?
1 2 3 | <properties> ?? <tomcat.version> 8.0 . 29 </tomcat.version> </properties> |
? 添加這個之后,spingboot的默認啟動的tomcat版本就可以達到你自己需要的了。到這里基本就完成了。
? 但是有時候啟動會報錯:
Tomcat啟動報錯代碼?
1 2 3 4 5 6 | 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項目的話加上下面這個依賴就好了:
1 2 3 4 5 | <dependency> ??? <groupId>org.apache.tomcat</groupId> ??? <artifactId>tomcat-juli</artifactId> ??? <version>${tomcat.version}</version> ? </dependency> |
以上就是springboot-修改內置tomcat版本的實例,這樣就可以了。
?