作業了也有五六年了,一直從事java開發的作業,很多時候都是為了適配需求而開發代碼,并沒有對更深層去了解原始碼,最近無意間跟了下spring 5.0的原始碼,發現了彩蛋,激起了我的好奇,這才有了今天的這篇文章(后續我盡量更新),
好了,進入正如:
1.準備環境:
- 作業系統:Ubuntu 20.04.1 LTS
- JDK :1.8.0_181
- GRADLE版本: Gradle 4.4.1
- MAVEN 版本: Apache Maven 3.5.4
- IDEA 版本: 2018.3.6
2原始碼下載:
-
spring原始碼(mirrors-Spring-Framework-5.0.1): https://maven.springframework.org/release/org/springframework/spring/5.0.1.RELEASE/ 選擇dist版本下載即可,

3.下載maven(3.5.4) :https://archive.apache.org/dist/maven/maven-3/3.5.4/source/
4.gradle下載:
注意下載gradle之前先要確認spring原始碼中默認使用的是哪個版本,在spring原始碼下build.gradle檔案中查看配置的gradle版本,然后我們本地去安裝這個版本,比如我下載的原始碼是 spring5.0.1,原始碼中配置的默認gradle版本是:
gradleVersion = "4.4.1",那么我就去安裝4.4.1的版本,具體下載地址如下: https://services.gradle.org/distributions/

5.編譯前準備:
maven 與 gradle 安裝完成后,命令列檢查是否正確,如圖:


6.原始碼預編譯:
打開spring原始碼的import-into-idea.md檔案,執行第一步,./gradle :spring-oxm:compileTestJava (注意此處不要使用spring默認配置的gradlew命令)使用我們本地安裝的gradle進行編譯,如下圖:
一定要先命令進入到spring原始碼目錄:

這一步很多人都會卡很久,也包括我,要么是jdk版本不匹配,要么是gradle版本不匹配,要么是maven網路被墻,總之各種各樣的問題,我大概說下解決方案:
如果是版本問題,建議最好更換版本(這就是我開頭就放出了我的環境版本的原因),如果是網路被墻或者緩慢,可以在build.gradle中增加阿里倉庫地址配置如下:
buildscript {
repositories {
maven{ url 'https://maven.aliyun.com/nexus/content/groups/public/'} //增加此處
maven{ url 'https://maven.aliyun.com/nexus/content/repositories/jcenter'} //增加此處
maven { url 'https://repo.spring.io/plugins-release'}//原來的倉庫地址一定要保存,切記切記,
}
}
7.匯入IDEA
這一步就簡單了,idea直接匯入選擇gradle編譯,指定本地安裝版本,會自動下載依賴,這里會要很久很久,我用了25分鐘,
最終結果如下:

自己可以新建一個moudle,選擇gradle型別,然后增加spring-context依賴,就可以愉快的除錯代碼了,
添加依賴:

執行效果,下一期開始除錯:

轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/239011.html
標籤:其他
上一篇:溫故知新之架構圖
下一篇:溫故知新之架構圖

