javascript
调试Spring源码 5.2.2.RELEASE
文章目錄
- 1. 環(huán)境準(zhǔn)備
- 2. Spring 環(huán)境配置
- 3. 調(diào)試源碼
1. 環(huán)境準(zhǔn)備
- spring-framework 5.2.2.RELEASE:https://github.com/spring-projects/spring-framework
- gradle-5.6.4:參考這篇文章下載安裝Gradle,版本換成5.6.4即可:https://blog.csdn.net/qq_28834355/article/details/109165291
- IDEA
2. Spring 環(huán)境配置
- 在 gradle 目錄 init.d 底下新建文件 init.gradle,把下面的內(nèi)容復(fù)制進(jìn)去
- 解壓上一步下載的 spring 源碼壓縮包,進(jìn)入根目錄
- 找到 settings.gradle,修改 repositories 如下
- 找到 gradle.properties,修改內(nèi)容如下:
- 找到 build.gradle,修改 buildscript.repositories 內(nèi)容如下。底下還有一個(gè) repositories ,也改成一樣的。
- 進(jìn)入 spring-framework\gradle\wrapper 目錄,將前面下載的 gradle-5.6.4-bin.zip 復(fù)制過來。并修改文件 gradle-wrapper.properties,內(nèi)容如下:
- 回到 spring 根目錄下,執(zhí)行如下命令
- 等待編譯完畢即可,成功之后會(huì)出現(xiàn) BUILD SUCCESSFUL
注意:spring和gradle的版本是有對(duì)應(yīng)關(guān)系的,如果報(bào)錯(cuò)提示build_scan_plugin版本問題,一般是gradle版本跟spring版本不符。根據(jù)報(bào)錯(cuò)信息,參考這里重新下載:https://docs.gradle.com/enterprise/compatibility/#build_scan_plugin
3. 調(diào)試源碼
IDEA打開spring-framework,新建一個(gè)我們自己的測(cè)試模塊。File -> New Module 選擇Gradle項(xiàng)目,勾選Web。
修改 build.gradle,添加 spring-context 依賴:
隨后,寫一個(gè)簡(jiǎn)單的main程序啟動(dòng)試試:
我這邊一開始啟動(dòng)是報(bào)錯(cuò)的,有以下2個(gè)問題:
報(bào)錯(cuò)1:
Error:(354, 51) java: 找不到符號(hào)
符號(hào): 變量 CoroutinesUtils
位置: 類 org.springframework.core.ReactiveAdapterRegistry.CoroutinesRegistrar
解決方法:
File -> Project Structure -> Libraries -> + > Java,然后選擇spring-framework/spring-core/kotlin-coroutines/build/libs/kotlin-coroutines-5.2.2.RELEASE.jar,在彈出的對(duì)話框中選擇 spring.spring-core.main
然后重新編譯。
報(bào)錯(cuò)2:
Error:(26, 38) java: 找不到符號(hào)
符號(hào): 類 InstrumentationSavingAgent
位置: 程序包 org.springframework.instrument
解決方法:
在剛剛新建的模塊下,添加依賴 spring-instrument ,如下:
重新執(zhí)行main方法,啟動(dòng)成功啦
總結(jié)
以上是生活随笔為你收集整理的调试Spring源码 5.2.2.RELEASE的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Netty实例:实现简单的通讯功能
- 下一篇: Spring @Import 注解使用详