Spring源码学习:IDEA环境搭建+调试测试

在搭建源码调试环境的时候,原以为是简单的项目导入,但在构建的时候报错不断!!!
我把自己的成功的流程和一些错误记录一下,也希望可以帮助到有需要的小伙伴呀~

源码环境搭建

准备工作

不同的源码版本对于Gradle的版本需求不同不同的Gradle版本JDK的版本需求也不同
我根据JDK1.8的版本选择了较早发布的Spring源码版本,源码中的gradle-wrapper.properties文件中有对应的Gradle版本(具体路径在下一节),git使用的是最新版本。
我的搭建环境具体如下:

序号环境版本
1OSWindows10
2Spring源码spring-framework-v5.2.22.RELEASE
3JDK1.8.0_152
4Gradlegradle-5.6.4-bin.zip
5Git2.38.1
6编译工具IntelliJ IDEA 2021.1.1 x64

获取源码和工具

  1. 确定JDK的版本:

打开系统的 cmd 控制台窗口,输入" java -version ",查看确定自己的JDK版本。

jdk版本

  1. 安装Git工具:

根据自己的系统,直接在官网下载并安装->Git工具

Git下载网站

  1. 下载Spring源码,有两种获取方式,更推荐第一种使用命令的方式,可以直接将拉取的源码包初始化到本地仓库,速度也更快;第二种直接导入官网下载的项目进行构建会报错(我刚开始用的第二种方式报错折腾了几番,不过也解决啦,在文章最后的报错部分会有解决方案):

(1)打开 cmd 控制台,cd到自己想存放的目录,使用 " git clone " 命令。其中 " x.x.x " 表示需要拉取的 Branches 分支(如:5.2.x); " tags" 表示需要拉取的 Tags 分支(如:v5.2.22.RELEASE)。

git clone -b x.x.x https://github.com/spring-projects/spring-framework.git
git clone --branch tags https://github.com/spring-projects/spring-framework.git

(2)直接在GitHub下载相对应版本的Spring源码->GitHub下载页面

GitHub下载

  1. 下载对应的Gradle包:

(1)在【spring-framework-v5.2.22.RELEASE\gradle\wrapper】找到下载的Spring源码的gradle-wrapper.properties文件,确定需要下载的Gradle版本。
下载完成后可以将文件中的Gradle路径注释,并添加一条其所在文件夹路径。

查看gradle版本

(2)在->Gradle官网找到对应版本并下载。

(3)在电脑【系统属性–>环境变量–>系统变量】中,先添加添加一条系统变量GRADLE_HOME(表示Gradle所在路径),再在变量Path中添加一条"%GRADLE_HOME%\bin "。

Gradle添加变量
Gradle添加路径

(4)在idea的设置搜索Gradle,配置所在路径。

idea中的Gradle配置
5. 可以修改源码项目中下面两个文件的下载路径,替换成阿里云仓库,提高下载速度。

(1)setting.gradle文件。

setting文件下载路径

(2)build.gradle文件。

build文件下载路径

使用Gradle构建源码项目

将Spring源码项目导入idea中,点击Gradle显示栏中的构建图标,在下方打印出带 " BUILD SUCCESSFUL " 的字样就表示项目构建成功。

build success

调试测试

新建一个模块

  1. 右击源码项目包选择【新建->新模块】。新建一个模块
  2. 选择Gradle构建项目,框架选择Java,点击下一步。选择Gradle项目
  3. 为新模块取个名称,我根据调试需求取名为spring-debug,点击下一步。
    选择项目
  4. 在源码项目中找到新建的模块,在新模块的 " build.gradle " 文件中加上以下代码,并点击Gradle项目栏中的刷新图标,重新构建一下。
    配置新模块中的Gradle
compile(project(":spring-context"))

新建配置文件和类

  1. 新建一个Student类,简单定义几个属性。Student类

  2. 新建配置文件applicationContext.xml,添加一个bean及其对应的属性值。配置文件

  3. 新建测试类Test,读取xml配置文件。测试类Test

调试bean的生成过程

  1. 在该行代码前打上断点,并右击后点击【调试】。开始调试

  2. 等待项目构建完成后就可以开始一步步的debug之旅啦!开始debug

遇到的报错

JDK与Gradle不匹配

报错:我在第一次导入源码项目时,idea的右下方提示我的JDK不支持gradle-5.6.4

解决:需要在cmd控制台检查一下自己的JDK版本,我常用的是 jdk14,对于5.2.22.RELEASE的源码项目所需要的gradle版本而言 jdk 的版本太高,所以需要降低下 jdk 版本,我使用的是下方的 jdk1.8。

若和我一样安装了多个 jdk,记得使用前在系统变量中修改下JAVA_HOME,需要使用哪个版本改成其所在路径。

jdk版本:1.8.0_152
链接:https://pan.baidu.com/s/14c9E86kIdScDAfofG-WhEA?pwd=7136
提取码:7136

jdkPath

git找不到

报错:开始构建项目后很快在下方打印出 “Could not start git”,因为我在导入项目前把 idea下载的 git 换到了其他位置,导致 idea找不到它。

git找不到

解决:安装完成在idea【设置】里面,搜索找到 【 Git 】,重新选择安装路径,并测试一下,配置成功会在路径下方显示Git的版本。

Git配置

git未初始化

报错:我第一次构建的源码项目是在GitHub直接下载安装包(在文章之前提到的第二种获取方式),idea构建了很久后却在右下方提示我的Build scan background action failed.

git未初始化
解决1:在CSDN搜索一番后发现很多博主都是使用 git clone 重新拉取源码项目,这种方式导入后的项目确实不会再报错!

git clone拉取1

git clone拉取2
解决2:对比两种方式获得源码项目发现–>第一种获取的项目会自带有 git 标识的绿色图标,但直接下载的项目就没有!
所以需要给下载的项目初始化一个 git 本地仓库,让它也带上绿色图标。

  • 方式一:【右击源码项目->点击" Git Bash Here "】,使用代码初始化。
//1.初始化与项目同名的空仓库
HP@LAPTOP-1SF1JH0V MINGW64 /f/Java Project/spring-framework-main
$ git init

//2.添加项目中的所有文件
HP@LAPTOP-1SF1JH0V MINGW64 /f/Java Project/spring-framework-main (master)
$ git add

//3.提交文件到仓库,后面是提交说明和备注
HP@LAPTOP-1SF1JH0V MINGW64 /f/Java Project/spring-framework-main (master)
$ git commit -m 'first commit'
  • 方式二:使用可视化工具TortoiseGit,在->TortoiseGit官网找到对应版本并下载,安装完成后右击源码项目就可以直接初始化。可视化工具TortoiseGit
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

木木夕乄

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值