1. 程式人生 > >Spring5原始碼解析-前奏:本地構建Spring5原始碼

Spring5原始碼解析-前奏:本地構建Spring5原始碼

  1. 閱讀Spring原始碼下的 import-into-idea.md 檔案可知

Precompile spring-oxm with ./gradlew :spring-oxm:compileTestJava

compileTestJava

  1. 修改 gradle/docs.gradle 指令碼 一開始嘗試直接構建Spring原始碼,在構建的過程中會報錯,通過修改docs.gradle 指令碼,註釋 dokkaasciidoctor

修改docs.gradle 指令碼

  1. 原始碼構建

原始碼構建1

等了好長好長的時間,終於構建完成了。

原始碼構建2

  1. 在Spring專案中新增一個自己的module,嘗試執行hello world,引入spring-context 依賴 compile(project(":spring-context"))

my module

  1. 執行main方法,發現報錯

Error:(160, 32) java: 找不到符號 符號: 變數InstrumentationSavingAgent 位置:

報錯

網上搜索了一大堆的解決方法,發現都不行。後來看了spring-context的依賴發現,spring-instrument 在 spring-context 中為 optional 依賴(optional(project(":spring-instrument")) ),於是在自己的模組中新增spring-instrument依賴

新增依賴

再次執行main方法,程式執行成功。

ps:令我感到奇怪的是,當我在寫這篇總結時,嘗試通過移除spring-instrument依賴來複現上述的問題時,發現復現不