整體流程:
- 本地環境准備
- 找到源碼地址並拉取到本地
- 根據IDE工具查看源碼中提供的不同的安裝說明並具體操作
- 構建會出現的的錯誤及解決
一.本地環境准備
spring-framework 源碼使用gradle構建的而不是maven,因此對於只熟悉maven的小伙伴兒們可能會多一個環節,不過不用怕,也很簡單
gradle官網https://services.gradle.org/distributions/上下載對應的版本

下載后解壓並復制根目錄的路徑
在電腦環境變量中加入

GRADLE_HOME是上述復制的根路徑
GRADLE_USER_HOME配置的是以前的maven倉庫,變量名不能變動,gradle倉庫可以復用maven倉庫,這還是挺好的哈!
別忘了還要在path中配置一下

保存確定后cmd中查看一下是否安裝成功

另一個IDE工具我用的是idea
二.找到源碼地址並拉取到本地
上github上找到spring-framework項目並獲取下載地址

三.根據IDE工具查看源碼中提供的不同的安裝說明並具體操作
源碼下載后查看對應IDE工具的安裝說明

打開import-into-idea.md

步驟中重點提一下第一步,在導入idea中要提前編譯一下,不然會報錯
進入源碼的根目錄中

進入dos命令窗口輸入gradlew :spring-oxm:compileTestJava 在這里我犯了次傻,直接復制粘貼了./gradlew :spring-oxm:compileTestJava

這對於我首次用gradle的我真的是太殘忍了
后面想了想,我本地是window系統,“./”似乎是類似shell腳本中的執行exe文件,於是我去掉了“./”,成功了,哈哈!
一段時間后提示成功
idea中從文件中new一個項目,注意選中到gradle.build,我之前只選到根目錄似乎出現了問題哈

四.構建會出現的的錯誤及解決
導入成功后構建過程中出現了好多次報錯問題,也由於懷疑自己,重新下載了幾次源碼,網上查的問題是idea版本和gradle需要對應,這種答案似乎都不准確
我本地是idea2018.1和gradle6.4.1,最終構建成功了
最終build.gradle中有兩個地方有大的改動,如下
buildscript {
repositories {
mavenLocal()
maven { name "Alibaba" ; url "https://maven.aliyun.com/repository/public" }
maven { name "Bstek" ; url "http://nexus.bsdn.org/content/groups/public/" }
maven { url "http://repo.springsource.org/plugins-release" }
mavenCentral()
}
dependencies {
classpath("io.spring.gradle:propdeps-plugin:0.0.9.RELEASE")
classpath("org.asciidoctor:asciidoctorj-pdf:1.5.0-alpha.16")
}
}
repositories {
mavenLocal()
maven { name "Alibaba" ; url 'https://maven.aliyun.com/repository/public' }
maven { name "Bstek" ; url 'http://nexus.bsdn.org/content/groups/public/' }
maven { name "M2" ; url 'https://plugins.gradle.org/m2/' }
maven { url "http://repo.springsource.org/plugins-release" } <-------------------------這個加入后里面下載插件的錯誤就解決了
mavenCentral()
}
按照安裝說明排除掉“spring-aspects”模塊

構建成功效果圖

構建過程可能還會出現很多問題,解決了構建問題,接下來才能正式啃spring源碼這塊硬骨頭,不說了,我要去啃了,淚崩!
