专注于 JetBrains IDEA 全家桶,永久激活,教程
持续更新 PyCharm,IDEA,WebStorm,PhpStorm,DataGrip,RubyMine,CLion,AppCode 永久激活教程

Spring源码环境-5.2.2.RELEASE版本

前言

该文章不包括Gradle的安装,并且在源码构建过程中需要翻404,否则容易失败。

下载源码

如果下载源码时卡住或失败,需要翻过404,或者参考该文章(推荐):www.jianshu.com/p/c72473ad9…

git clone git@github.com:spring-projects/spring-framework.git
<!--切换tag-->
cd spring-framework
git checkout v5.2.2.RELEASE
<!--从当前tag开出一个分支-->
<!--git switch -c <new-batch-name>-->
git switch -c learn/v5.2.2

项目导入

根据spring-framework目录下的 import-into-idea.md 说明进行如下操作:

1. 预编译spring-oxm

注意:该步骤需要翻404,不然大概率失败

gradlew :spring-oxm:compileTestJava

import-into-idea.md 中的说明是使用 ./gradlew :spring-oxm:compileTestJava ,但是发现加上 ./ 会报错。
出现如下图片说明执行成功:

73_1.png

2. 导入IDEA

在IDEA中点击File -> New -> Project from Existing Sources 并选择 spring-framework 目录下的 build.gradle
导入后该项目没有设置SDK,需要如下操作:

73_2.png

3. 创建一个自己的maven模块

73_3.png导入成功后右下角会提示 Maven projects need to be imported 任选一个即可。 然后在该模块的pom.xml中添加如下依赖(后续需要使用):

<dependency>
  <groupId>commons-logging</groupId>
  <artifactId>commons-logging</artifactId>
  <version>1.2</version>
</dependency>

73_4.png

每次变更pom.xml都需要在IDEA的 Project Structure 中重新配置依赖(目前没找到更好的解决方法,只能在配置好如下依赖后就不动pom.xml或在配置后重新给该模块添加依赖)

4. 为该Maven项目配置依赖

同样的,点击File -> Project Structure

73_5.png

5. 运行自己的代码

73_6.png万事大吉了?怎么可能,又会出现很多报错

6. 解决问题

问题一:

Error:(347, 51) java: 找不到符号
  符号:   变量 CoroutinesUtils
  位置: 类 org.springframework.core.ReactiveAdapterRegistry.CoroutinesRegistrar

问题一解决方法:

73_7.png上面的Gif没把点击的按钮截取进去在这说明下,点击的按钮是 73_8.png
然后再次运行代码
73_9.png

7.依赖问题解决方法总结

这一次构建Spring源码不知道为什么很顺利,就只遇到这一个依赖问题,在这说明下依赖问题的解决方法: 与上面的解决方法类似,如果遇到A模块报.kt文件找不到,例如 BeanDefinitionDsl.kt 则可以找到 BeanDefinitionDsl.kt 文件所在模块B,打开B模块build -> libs 目录下的 .jar 文件右键点击 Add As Library 并在弹出的窗口中的 Add to module 中选择A.main模块即可。

文章永久链接:https://tech.souyunku.com/25936

未经允许不得转载:搜云库技术团队 » Spring源码环境-5.2.2.RELEASE版本

JetBrains 全家桶,激活、破解、教程

提供 JetBrains 全家桶激活码、注册码、破解补丁下载及详细激活教程,支持 IntelliJ IDEA、PyCharm、WebStorm 等工具的永久激活。无论是破解教程,还是最新激活码,均可免费获得,帮助开发者解决常见激活问题,确保轻松破解并快速使用 JetBrains 软件。获取免费的破解补丁和激活码,快速解决激活难题,全面覆盖 2024/2025 版本!

联系我们联系我们