如何在Spring 5.3.x版本中搭建源代码阅读环境
spring5.3.x源码阅读环境搭建-gradle构建编译
文章目录
一、依赖工具
- git
git工具 我就不在赘述了
- jdk17
打开 www.oracle.com/java/techno… 根据自己的操作系统下载对应的版本 这里说一下为什么使用jdk17的版本,我们构建spirng源码是为了学习spring,而不是钻牛角尖,构建 spirng5.3.x如果不是jdk17会出现一些问题,所以本文使用jdk17来构建spring源码!
3. gradle-7.4
打开 services.gradle.org/distributio… 选择最新版本:gradle-7.4-all.zip(all版本是带源码的) 下载后解压配置环境变量
然后打开cmd 输入
gradle -v
出现下图所示标识配置环境变量配置成功
- idea
www.jetbrains.com/idea/ 点击网址自行下载
二、下载源码
很多朋友都因为网速原因拉不下来github
的源码!所以我们这里使用gitee
来Fork
源码。
- 为什么要
Fork
?既然开始阅读、调试源码,我们可能会写一些注释,有了自己的仓库,可以进行*的提交。 - 本文使用的 Spring 版本为
5.3.x
的master分支代码 (5.3.0-SNAPSHOT)。 - 首先
https://github.com/spring-projects/spring-framework
复制此链接拷贝导入仓库点击导入按钮即可将github的spring源码Fork到自己的gitee仓库。
三、开始构建
现在我们已经有了自己的仓库地址了,此时准备开始构建源码
复制
Fork
到gitee的仓库地址 然后点击克隆 克隆打开的时候idea会自动下载构建此刻我们立刻点击取消。 现在我们点击file->settings->build,Exection,Deployment->Build Tools->Gradle 然后点击apply->ok 然后找到build.gradle
文件将 repositories变量配置为一下配置
repositories {
//新增以下2个阿里云镜像
maven { url 'https://maven.aliyun.com/nexus/content/groups/public/'}
maven { url 'https://maven.aliyun.com/nexus/content/repositories/jcenter' }
maven { url "https://repo.spring.io/libs-spring-framework-build" }
maven { url "https://repo.spring.io/snapshot" }
mavenCentral()
}
点击刷新按钮,此刻等待gradle构建spring源码,如果中间出错可能是网络原因下载jar包失败,重新刷新几次就ok!
四、编译源码
好到现在我们的源码就算构建完成,我们开始编译源码 点击complileTestJava如果没有报错恭喜你我的朋友说明源码编译成功了!
五、源码测试
打开创建的测试目录的
build.gradle
文件添加以下代码
dependencies {
implementation(project(":spring-beans"))
implementation(project(":spring-context"))
testImplementation 'org.junit.jupiter:junit-jupiter-api:5.6.0'
testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine'
}
此刻在src->main->java
下创建两个类KukahaMain
、SysConfig
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
public class KukahaMain {
public static void main(String[] args) {
AnnotationConfigApplicationContext annotationConfigApplicationContext = new AnnotationConfigApplicationContext(SysConfig.class);
System.out.println(annotationConfigApplicationContext);
}
}
import org.springframework.context.annotation.Configuration;
@Configuration
public class SysConfig {
}
此时运行
KukahaMain
类的主方法,结果打印一下图示表示你已经搭建好spring的源码环境,此刻你可以开始尽情的玩耍了!!!!
尾、完结撒花
此文章是作者一步步走可以成功的!希望小伙伴们玩的开心,后期会更新spring的源码解析,希望能得到小伙伴的多多支持!!!!!