Spring源码阅读(一)构建源码环境
前置环境
- git
- GitHub账号
- jdk17
- idea 2023.1.2
- spring-framework 6.0.x
Fork Spring源码
spring-project GitHub地址
fork的个人分支GIthub地址
点击右上角fork
创建fork
注意取消勾选 Copy the
main
only,否则你只会拥有main分支
克隆fork仓库
你本地已经有了fork的仓库,且拥有spring-project的所有分支
构建本地源码
由于采用的不同版本源码他的jdk要求不一样,则我们以
6.0.x
为版本开始构建
克隆fork分支代码
#在合适的地方克隆项目
git clone -b 6.0.x git@github.com:WuZhengDao/spring-framework.git
导入IDEA
配置Java Complier
主要是 Project ByteCode version 选择17
配置Gradle
图省事,直接用的IDEA自行安装的Gradle
- 注意选择Gradle JVM为jdk17
- Gradle user home选择 默认的(直接删除清空就会自行找到默认的)
配置Project JDK
- 选择SDK 为jdk17
- 选择Language level为 17
配置Modules JDK
清除缓存 重新构建项目
最简单的方法则为清楚IDEA缓存后关闭项目再打开一次
File->Invalidate Caches->全选(或者根据需求)->Invalidate and Restart
等待重启和Gradle重新配置依赖即可(如果有需要可以配置gradle warpper 国内源)
维护源码更新
在spring项目根目录下执行
设置上游代码
如果你想将 fork 的仓库与上游仓库同步,你需要在 Git 中配置指向上游仓库的远程仓库。以下是一些步骤:
- 首先,使用以下命令查看当前的 remote 情况:
git remote -v
- 添加上游仓库的地址:
git remote add upstream https://github.com/spring-projects/spring-framework.git
- 验证是否成功添加上游仓库的地址:
git remote -v
本地fork项目和远程源码维护
- 拉取上游分支
git pull upstream
和拉取本地fork分支git pull origin
#git pull upstream是拉取fork的外部上游项目的更新到本地自己仓库中的项目中
git pull upstream
#git pull origin是拉取自己或团队项目的更新到本地
git pull origin
- 上游分支没权限,本地frok分支有权限,所以代码直接
git push
到本地即可,如果需要其他维护分支方式请自行学习git分支管理策略