Spring源码学习:IDEA环境搭建+调试测试-创新互联

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

发展壮大离不开广大客户长期以来的信赖与支持,我们将始终秉承“诚信为本、服务至上”的服务理念,坚持“二合一”的优良服务模式,真诚服务每家企业,认真做好每个细节,不断完善自我,成就企业,实现共赢。行业涉及木托盘等,在成都网站建设网络营销推广、WAP手机网站、VI设计、软件开发等项目上具有丰富的设计经验。

学习目录
  • 源码环境搭建
    • 准备工作
    • 获取源码和工具
    • 使用Gradle构建源码项目
  • 调试测试
    • 新建一个模块
    • 新建配置文件和类
    • 调试bean的生成过程
  • 遇到的报错
    • JDK与Gradle不匹配
    • git找不到
    • git未初始化

源码环境搭建 准备工作

不同的源码版本对于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:在搜索一番后发现很多博主都是使用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

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


网站栏目:Spring源码学习:IDEA环境搭建+调试测试-创新互联
文章路径:http://bzwzjz.com/article/dgjddh.html

其他资讯

Copyright © 2007-2020 广东宝晨空调科技有限公司 All Rights Reserved 粤ICP备2022107769号
友情链接: 成都h5网站建设 成都网站设计公司 成都网站建设公司 网站建设公司 网站设计制作 营销型网站建设 定制级高端网站建设 成都网站制作 网站建设推广 成都商城网站建设 成都响应式网站建设 自适应网站建设 H5网站制作 手机网站制作 成都品牌网站设计 高端网站设计 成都网站建设 宜宾网站设计 成都网站建设公司 重庆网站建设 网站建设方案 成都网站设计