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

1 前言

這是SpringBoot2.1源碼分析專題的第一篇文章,主要講如何來搭建咱們的源碼閱讀調試環境。若是有經驗的小夥伴們能夠略過此篇文章。java

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

由於要進行閱讀源碼和分析源碼項目,咱們是否是要在裏面寫一些註釋幫助咱們閱讀理解源碼,所以須要將SpringBoot源碼項目fork到本身的github倉庫中,而後再利用git clone url命令將已經fork到本身github倉庫的SpringBoot源碼拉取下來便可。
但因爲以上方式每每很慢,一般會超時,因此筆者直接將SpringBoot項目直接下載下來,而後再導入IDEA中。github

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

4 將SpringBoot源碼項目導入到IDEA中

將剛纔下載的spring-boot2.1.0.RELEASE項目選擇maven方式導入到IDEA中,而後一直next便可導入完成,注意選擇JDK版本是1.8,maven版本是3.5+。spring

如何搭建本身的SpringBoot源碼調試環境?--SpringBoot源碼(一)
此時下載maven依賴是一個漫長的等待過程,建議maven沒有配置阿里雲倉庫的小夥伴們配置一下,這樣下載速度會快不少。參考配置maven使用阿里雲倉庫進行配置便可。瀏覽器

5 編譯構建SpringBoot源碼項目

此時導入項目後,咱們進行編譯構建SpringBoot源碼項目了,在構建以前作兩個配置:tomcat

  1. 咱們要禁用maven的代碼檢查,在根pom.xml中增長一下配置便可,以下圖:

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

  2. 可能有的小夥伴們的pom.xml文件的project標籤上顯示java.lang.OutOfMemoryError錯誤,這是由於IDEA裏的Maven的importer設置的JVM最大堆內存太小而致使的,以下圖,此時可參考Maven依賴包導入錯誤(IntelliJ IDEA)解決便可。

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

進行了上面的兩點配置後,此時咱們就能夠直接執行如下maven命令來編譯構建源碼項目了。springboot

mvn clean install -DskipTests -Pfast

如何搭建本身的SpringBoot源碼調試環境?--SpringBoot源碼(一)
此時又是漫長的等待,我這裏等待5分鐘左右就顯示構建成功了,以下圖:
如何搭建本身的SpringBoot源碼調試環境?--SpringBoot源碼(一)maven

6 運行SpringBoot自帶的sample

由於SpringBoot源碼中的spring-boot-samples模塊自帶了不少DEMO樣例,咱們能夠利用其中的一個sample來測試運行剛剛構建的springboot源碼項目便可。但此時發現spring-boot-samples模塊是灰色的,以下圖:
如何搭建本身的SpringBoot源碼調試環境?--SpringBoot源碼(一)
這是由於spring-boot-samples模塊沒有被添加到根pom.xml中,此時將其添加到根pom.xml中便可,增長以下配置,以下圖:
如何搭建本身的SpringBoot源碼調試環境?--SpringBoot源碼(一)
此時咱們挑選spring-boot-samples模塊下的spring-boot-sample-tomcat樣例項目來測試好了,此時啓動SampleTomcatApplicationmain函數,啓動成功界面以下:ide

如何搭建本身的SpringBoot源碼調試環境?--SpringBoot源碼(一)
而後咱們再在瀏覽器發送一個HTTP請求,此時能夠看到服務端成功返回響應,說明此時SpringBoot源碼環境就已經構建成功了,接下來咱們就能夠進行調試了,以下圖:函數

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

7 動手實踐環節

前面已經成功構建了SpringBoot的源碼閱讀環境,小夥伴們記得本身動手搭建一套屬於本身的SpringBoot源碼調試環境哦,閱讀源碼動手調試很重要,嘿嘿。

下節預告
<font color=Blue>咱們該如何去分析SpringBoot源碼涉及模塊及結構?--SpringBoot源碼(二)</font>

原創不易,幫忙點個讚唄


歡迎關注【源碼筆記】公衆號,一塊兒學習交流。

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

相關文章
相關標籤/搜索