Spring 源码学习笔记-环境准备
source link: https://www.tuicool.com/articles/6VBBJbR
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
一起来准备阅读 Spring
源码
代码环境准备
-
JDK 8
-
Gradle
-
编译工具(常用 IDEA)
下载源码到本地
$ git clone [email protected]:spring-projects/spring-framework.git
不建议下载 master
分支的代码,因为有些小问题一直在修复,所以我下载的是 v2.3.0.M2
版本的 releases
代码。
因为我也是一边看书,一边做笔记,下载了源码,写的 demo
代码和注释都在里面,小伙伴们可以下载我上传的代码,亲测可运行~
设置 Gradle 路径
有两种选择:
-
选择 IDEA 工具中默认(Recommend)
-
选择用户自己下载的 Gradle (我本地通过 brew 下载)
最后设定:
下载依赖和编译
导入项目后,识别到 Gradle
依赖后,首先会从中央库下载相关的依赖。
下载完依赖后,进行代码编译,通过图形界面,选择根路径下的 build
任务。
最后编译生成 class
等文件路径,在各自模块的 build
目录。
Spring 源码分析大致流程
-
介绍概念
-
查看类的集成体系
-
简单 demo
-
查看源码
-
分析流程
遇到的坑
无法识别 Gradle 项目
这个问题是通过 version controll
克隆代码后,打开新项目时一直提示
Could not resolve symbol "XXX" # 还有右上角弹出的 Try resolve again
一开始不知道是哪个导入流程错误,通过查询资料,发现将代码 clone
到本地后,通过下面步骤操作,项目就能正常识别和下载依赖了:
-
点击
IDEA
的 ` File -> Open,选择项目的
build.gradle` -
按照提示设定
Gradle
-
下载依赖和编译
gradle 版本和 Idea 版本不匹配
本地的 gradle
版本号是 5.4.1
$ gradle -v Welcome to Gradle 5.4.1!
IDEA
工具的版本是 2018.2,查了资料,有可能是高版本 gradle
需要新版本 IDEA
,于是我就去下载新版工具。
(顺便安利一下 新版本的主题 Dark Purple Theme )
更新 IDEA
后,在构建项目时,在最后一步卡住了,提示:
java.lang.AbstractMethodError: org.jetbrains.plugins.gradle.tooling.util.ModuleComponentIdentifierImpl.getModuleIdentifier()Lorg/gradle/api/artifacts/ModuleIdentifier;
查看资料,大概是 gradle
升级后,出现了 jar
版本兼容的问题,于是按照提示,修改了编译方式( 看上面 gradle 选择方式图片 ),修改完成后,能够正常构建项目。
参考资料
1、 解决IDEA在导入Gradle项目之后报Could not resolve symbol “XXX”错误
2、 gradle版本引起编译报错问题:Cause: org.jetbrains.plugins.gradle.tooling.util.ModuleComponentIdentifierImpl.getM
3、[Gradle 5 IntelJ java.lang.AbstractMethodError
](https://www.jianshu.com/p/f9951d5506fc)
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK