javascript
spring boot 源码_SpringBoot2.1.x源码环境搭建详解
前言
筆者試著從GitHub上拉取SpringBoot源碼。然鵝,在本地IDEA打開后,爆各種編譯錯誤,各種問題。經過反復操作,現在總結一下SpringBoot源碼環境搭建的實踐,便于后期對于源碼的學習。
Github上SpringBoot源碼的開源地址:https://github.com/spring-projects/spring-boot
1、環境準備
項目/工具 版本
SpringBoot 2.1.x
maven 3.5.4
JDK 1.8.0
IDEA 2019.3.1
2、Fork源碼
這里,我們可以將Git上這個開源的SpringBoot源碼項目Fork到自己的Github倉庫里。這樣,后期自己在上邊做筆記,或者各種的測試都可以直接提交到個人的倉庫上,隨意操作。
看截圖紅框,(1)Fork源碼到本地倉庫;(2)源碼版本選擇。
3、Clone源碼
將源碼的Git地址復制到IDEA中,這里一定要確認已經安裝了Maven3.5.0以上的版本,低版本在編譯時,Maven插件會報錯。
4、配置maven鏡像源
為了加速下載所有的依賴 jar 包,我們先找到E:mavenapache-maven-3.5.4confsetting.xml這個文件,然后在mirrors標簽里粘貼如下內容。
nexus-aliyuncentralNexus aliyun http://maven.aliyun.com/nexus/content/groups/public注意:配置完maven鏡像源目的是為了后邊下載jar包,有時候會下載失敗。
5、修改spring-boot項目的pom.xml文件
這里我們先將未編譯的源碼放在IDEA中看一下,需要修改校驗屬性。注意,這里先不要在maven的配置中點擊clean/install源碼,會報錯,所有的依賴包都是一片紅線。
OK,先在屬性標簽中加入如下內容:
true源碼的結構如下:
接下來,我們需要對拉下來的源碼進行編譯。
6、編譯Spring-Boot源碼
進入源碼項目所在的根目錄,準備編譯。
注意:編譯執行的過程有一下幾種方式,本地所使用的Maven版本:apache-maven-3.5.4。
【方式1】使用mvn clean install 編譯項目(跳過測試部分的內容進行編譯)
?? ? ?? mvn clean install -DskipTests -Pfast【方式2】使用mvn clean install 編譯項目
?? ? ?? mvn -Dmaven.test.skip=true clean install參數說明:
-Dmaven.test.skip=true:表示執行上邊這條命令在打包過程中將會忽略testcase,因為源碼編譯耗時非常漫長,中間也可能會爆一堆異常Error。
【方式3】使用 mvnwrapper 編譯項目
先執行
?? ? ?? ./mvnw clean install -DskipTests -Pfast注意:
【1】上邊的命令執行編譯2.1.x以下版本源碼是成功的,但是去編譯2.2.x版本源碼時一直編譯不過,暫時沒搞明白咋回事。
【2】配置完maven鏡像源后,使用上邊命令編譯,有時候會下載/編譯失敗。出現異常就暴力點,直接將本地倉庫刪干凈,重新編譯即可。
7、IDEA導入源碼及測試
源碼導入IDEA后,我們還需要測試一下,記得將IDEA的 Maven 版本選擇3.5.4,JDK選8以上的。這里,并沒有使用maven默認的倉庫,所以勾選使用自定義安裝的maven配置文件和本地倉庫。
【1】選取項目里的一個單元測試運行一下啟動程序。
這里,在spring-boot-tests項目中,隨便選了spring-boot-launch-script-tests項目下的LaunchScriptTestApplication.java這個啟動類。點擊運行,看看啟動效果。
可以看到,已經啟動成功,說明我們的spring-boot源碼已經編譯成功。
————————————————
一入IT深似海,從此學習是常態,上面內容只是冰山一角。關注"JohnnyHL",決戰秋名山,coding到天亮。更多的干貨,敬請期待!!
總結
以上是生活随笔為你收集整理的spring boot 源码_SpringBoot2.1.x源码环境搭建详解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python断言区间_断言整数在范围内
- 下一篇: springboot异步注解_Sprin