Spring5原始碼解析-前奏:本地構建Spring5原始碼
阿新 • • 發佈:2019-10-04
- 閱讀Spring原始碼下的 import-into-idea.md 檔案可知
Precompile
spring-oxm
with./gradlew :spring-oxm:compileTestJava
- 修改 gradle/docs.gradle 指令碼 一開始嘗試直接構建Spring原始碼,在構建的過程中會報錯,通過修改docs.gradle 指令碼,註釋
dokka
和asciidoctor
- 原始碼構建
等了好長好長的時間,終於構建完成了。
- 在Spring專案中新增一個自己的module,嘗試執行hello world,引入spring-context 依賴
compile(project(":spring-context"))
- 執行main方法,發現報錯
Error:(160, 32) java: 找不到符號 符號: 變數InstrumentationSavingAgent 位置:
網上搜索了一大堆的解決方法,發現都不行。後來看了spring-context的依賴發現,spring-instrument 在 spring-context 中為 optional 依賴(optional(project(":spring-instrument"))
),於是在自己的模組中新增spring-instrument依賴
再次執行main方法,程式執行成功。
ps:令我感到奇怪的是,當我在寫這篇總結時,嘗試通過移除spring-instrument依賴來複現上述的問題時,發現復現不