1 前言
這是SpringBoot2.1源碼分析專題的第一篇文章,主要講如何來搭建我們的源碼閱讀調試環境。如果有經驗的小夥伴們可以略過此篇文章。
2 環境安裝要求
- IntelliJ IDEA
- JDK1.8
- Maven3.5以上
3 從github上将SpringBoot源碼項目下載下傳下來
首先提供SpringBoot2.1.0的github位址:
https://github.com/spring-projects/spring-boot/tree/v2.1.0.RELEASE因為要進行閱讀源碼和分析源碼項目,我們是不是要在裡面寫一些注釋幫助我們閱讀了解源碼,是以需要将SpringBoot源碼項目fork到自己的github倉庫中,然後再利用git clone url指令将已經fork到自己github倉庫的SpringBoot源碼拉取下來即可。
但由于以上方式往往很慢,通常會逾時,是以筆者直接将SpringBoot項目直接下載下傳下來,然後再導入IDEA中。
4 将SpringBoot源碼項目導入到IDEA中
将剛才下載下傳的spring-boot2.1.0.RELEASE項目選擇maven方式導入到IDEA中,然後一直next即可導入完成,注意選擇JDK版本是1.8,maven版本是3.5+。
此時下載下傳maven依賴是一個漫長的等待過程,建議maven沒有配置阿裡雲倉庫的小夥伴們配置一下,這樣下載下傳速度會快很多。參考
配置maven使用阿裡雲倉庫進行配置即可。
5 編譯建構SpringBoot源碼項目
此時導入項目後,我們進行編譯建構SpringBoot源碼項目了,在建構之前做兩個配置:
- 我們要禁用maven的代碼檢查,在根pom.xml中增加一下配置即可,如下圖:
- 可能有的小夥伴們的pom.xml檔案的project标簽上顯示
錯誤,這是因為IDEA裡的Maven的importer設定的JVM最大堆記憶體過小而導緻的,如下圖,此時可參考 Maven依賴包導入錯誤(IntelliJ IDEA) 解決即可。java.lang.OutOfMemoryError
進行了上面的兩點配置後,此時我們就可以直接執行以下maven指令來編譯建構源碼項目了。
mvn clean install -DskipTests -Pfast
此時又是漫長的等待,我這裡等待5分鐘左右就顯示建構成功了,如下圖:
6 運作SpringBoot自帶的sample
因為SpringBoot源碼中的spring-boot-samples子產品自帶了很多DEMO樣例,我們可以利用其中的一個sample來測試運作剛剛建構的springboot源碼項目即可。但此時發現spring-boot-samples子產品是灰色的,如下圖:
這是因為spring-boot-samples子產品沒有被添加到根pom.xml中,此時将其添加到根pom.xml中即可,增加如下配置,如下圖:
此時我們挑選spring-boot-samples子產品下的spring-boot-sample-tomcat樣例項目來測試好了,此時啟動
SampleTomcatApplication
的
main
函數,啟動成功界面如下:
然後我們再在浏覽器發送一個HTTP請求,此時可以看到服務端成功傳回響應,說明此時SpringBoot源碼環境就已經建構成功了,接下來我們就可以進行調試了,如下圖:
7 動手實踐環節
前面已經成功建構了SpringBoot的源碼閱讀環境,小夥伴們記得自己動手搭建一套屬于自己的SpringBoot源碼調試環境哦,閱讀源碼動手調試很重要,嘿嘿。
下節預告:
我們該如何去分析SpringBoot源碼涉及子產品及結構?--SpringBoot源碼(二)
原創不易,幫忙點個贊呗!
歡迎關注【源碼筆記】公衆号,一起學習交流。