javascript
调试Spring源码 5.2.2.RELEASE
文章目錄
- 1. 環境準備
- 2. Spring 環境配置
- 3. 調試源碼
1. 環境準備
- 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 環境配置
- 在 gradle 目錄 init.d 底下新建文件 init.gradle,把下面的內容復制進去
- 解壓上一步下載的 spring 源碼壓縮包,進入根目錄
- 找到 settings.gradle,修改 repositories 如下
- 找到 gradle.properties,修改內容如下:
- 找到 build.gradle,修改 buildscript.repositories 內容如下。底下還有一個 repositories ,也改成一樣的。
- 進入 spring-framework\gradle\wrapper 目錄,將前面下載的 gradle-5.6.4-bin.zip 復制過來。并修改文件 gradle-wrapper.properties,內容如下:
- 回到 spring 根目錄下,執行如下命令
- 等待編譯完畢即可,成功之后會出現 BUILD SUCCESSFUL
注意:spring和gradle的版本是有對應關系的,如果報錯提示build_scan_plugin版本問題,一般是gradle版本跟spring版本不符。根據報錯信息,參考這里重新下載:https://docs.gradle.com/enterprise/compatibility/#build_scan_plugin
3. 調試源碼
IDEA打開spring-framework,新建一個我們自己的測試模塊。File -> New Module 選擇Gradle項目,勾選Web。
修改 build.gradle,添加 spring-context 依賴:
隨后,寫一個簡單的main程序啟動試試:
我這邊一開始啟動是報錯的,有以下2個問題:
報錯1:
Error:(354, 51) java: 找不到符號
符號: 變量 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,在彈出的對話框中選擇 spring.spring-core.main
然后重新編譯。
報錯2:
Error:(26, 38) java: 找不到符號
符號: 類 InstrumentationSavingAgent
位置: 程序包 org.springframework.instrument
解決方法:
在剛剛新建的模塊下,添加依賴 spring-instrument ,如下:
重新執行main方法,啟動成功啦
總結
以上是生活随笔為你收集整理的调试Spring源码 5.2.2.RELEASE的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Netty实例:实现简单的通讯功能
- 下一篇: Java动态代理详解(Proxy+Inv