日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

调试Spring源码 5.2.2.RELEASE

發布時間:2025/3/19 javascript 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 调试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,把下面的內容復制進去
allprojects{repositories {def REPOSITORY_URL = 'https://maven.aliyun.com/nexus/content/groups/public/'all { ArtifactRepository repo ->def url = repo.url.toString()if ((repo instanceof MavenArtifactRepository) && (url.startsWith('https://repo1.maven.org/maven2') || url.startsWith('https://jcenter.bintray.com'))) {project.logger.lifecycle 'Repository ${repo.url} replaced by $REPOSITORY_URL .'remove repo}}maven {url REPOSITORY_URL}} }
  • 解壓上一步下載的 spring 源碼壓縮包,進入根目錄
  • 找到 settings.gradle,修改 repositories 如下
pluginManagement {repositories {gradlePluginPortal()maven { url 'https://maven.aliyun.com/repository/public' }maven { url 'https://repo.spring.io/plugins-release' }} }
  • 找到 gradle.properties,修改內容如下:
version=5.2.2.RELEASE org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 org.gradle.caching=true org.gradle.parallel=true
  • 找到 build.gradle,修改 buildscript.repositories 內容如下。底下還有一個 repositories ,也改成一樣的。
buildscript {repositories {maven { url 'https://maven.aliyun.com/nexus/content/groups/public/' }maven { url 'https://maven.aliyun.com/nexus/content/repositories/jcenter'}mavenCentral()jcenter()google()maven { url "https://repo.spring.io/libs-spring-framework-build" }}dependencies {classpath 'org.asciidoctor:asciidoctorj-pdf:1.5.0-alpha.16'classpath 'io.spring.asciidoctor:spring-asciidoctor-extensions:0.1.3.RELEASE'} }
  • 進入 spring-framework\gradle\wrapper 目錄,將前面下載的 gradle-5.6.4-bin.zip 復制過來。并修改文件 gradle-wrapper.properties,內容如下:
distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists distributionUrl=gradle-5.6.4-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists
  • 回到 spring 根目錄下,執行如下命令
gradle :spring-oxm:compileTestJava
  • 等待編譯完畢即可,成功之后會出現 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的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。