spring 5.0.x源碼學(xué)習(xí)系列之構(gòu)建spring源碼
一、環(huán)境準(zhǔn)備
Spring 5.0.x源碼下載:
git clone https://github.com/spring-projects/spring-framework.git -b 5.0.xIntelliJ IDEA
Gradle 4.4.1(建議使用4.x版本, 5+以上的版本可能會有問題), 不需要下載gradle源碼, 這里附帶下載地址:https://gradle.org/next-steps/?version=4.4.1&format=bin, 配置Gradle環(huán)境變量(將解壓后的文件夾中的gradle.bat目錄配置到系統(tǒng)變量的path中即可, 防止多賬號同時使用同一臺機器的情況), 在命令行中輸入
gradle -v驗證是否安裝成功打開IntelliJ IDEA并打開spring-framework文件夾(使用git clone的方式默認是這個文件夾), 若使用源碼Download的方式那么文件夾的名稱規(guī)則為spring-framework-分支名
-
配置IDEA中g(shù)radle
在這里插入圖片描述 -
查看源碼根目錄的
import-into-idea.md文件, 按照提示將spring-aspects模塊去除在這里插入圖片描述在這里插入圖片描述 -
導(dǎo)入項目進行build, 若報錯
No such property: value for class: org.gradle.api.internal.tasks.DefaultTaskDependencyPossible solutions: values
打開spring-beans.gradle文件并將compileGroovy.dependsOn = compileGroovy.taskDependencies.values - "compileJava"注釋掉, 再重新build在這里插入圖片描述 -
分別執(zhí)行如下兩個命令, 添加依賴
gradle objenesisRepackJargradle cglibRepackJar
-
編譯
spring-oxm模塊
在這里插入圖片描述 若出現(xiàn)
java: 找不到符號 符號: 變量InstrumentationSavingAgent 位置錯誤, 編譯下spring-instrument模塊即可
二、添加自己的模塊
- build結(jié)束后, 可以自己添加一個模塊, eg: 添加
spring-sumarry模塊在這里插入圖片描述在這里插入圖片描述在這里插入圖片描述在這里插入圖片描述 - 導(dǎo)入spring內(nèi)部其他模塊, eg:
spring-context模塊, 它是創(chuàng)建bean的核心模塊. 選擇剛剛創(chuàng)建的spring-sumarry模塊的build.gradle.kts文件, 并在dependencies標(biāo)簽中添加如下代碼:compile(project(":spring-context"))在這里插入圖片描述
最后
- 附上自己的spring學(xué)習(xí)記錄: https://github.com/AvengerEug/spring
- 如果你覺得我的文章有用的話,歡迎點贊、收藏和關(guān)注。:laughing:
- I'm a slow walker, but I never walk backwards