天天看點

如何搭建自己的SpringBoot源碼調試環境?--SpringBoot源碼(一)

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源碼項目了,在建構之前做兩個配置:

  1. 我們要禁用maven的代碼檢查,在根pom.xml中增加一下配置即可,如下圖:
  1. 可能有的小夥伴們的pom.xml檔案的project标簽上顯示

    java.lang.OutOfMemoryError

    錯誤,這是因為IDEA裡的Maven的importer設定的JVM最大堆記憶體過小而導緻的,如下圖,此時可參考 Maven依賴包導入錯誤(IntelliJ IDEA) 解決即可。

進行了上面的兩點配置後,此時我們就可以直接執行以下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源碼(二)

原創不易,幫忙點個贊呗!

歡迎關注【源碼筆記】公衆号,一起學習交流。