Spring6.0.0源码阅读环境搭建-gradle构建编译
背景:Spring系列生态十分丰富,也是Java后代开发需要了解的内容。理解Spring的设计原理,就需要深度研读Spring源码。 在构建Spring源码阅读环境的过程中参考了网站众多文章,针对不同版本有不同的问题,经多次尝试,慢慢找到了正确的构建编译方式,下面就记录下 Spring源码阅读环境的构建编译完整过程 。
准备工作
Spring下载源码
https://github.com/spring-projects/spring-framework 版本选择6.0.0可以直接下载zip包或者clone相关分支,本次编译采用直接下载zip包的形式。
gradle下载
https://gradle.org/releases/ 根据gradle/wrapper/gradle-wrapper.properties文件的配置下载对应版本的gradle,本次编译使用的是7.5.1。
gradle环境配置
gradle环境配置网上有许多类的教程。
-
将gradle压缩包进行解压。 设置环境变量 验证
创建idea阅读环境
导入工程
使用Idea打开解压后的spring6.0.0源码文件,默认工程导入后就会进行编译,但有些依赖下载时间比较长,建议先暂停编译并替换国内数据源。
配置gradle
-
Idea配置gradle 配置gradle编译 Gradle user home 选择gradle安装地址 Gradle JVM选择jdk安装地址 Idea配置Project Settings Project中SDK选择安装的jdk版本 gradle-wrapper.properties修改 将distributionUrld地址替换为本地gradle下载 build.gradle文件修改 maven添加国内镜像
repositories {
maven { url "https://maven.aliyun.com/repository/central" }
mavenCentral()
maven {
url "https://repo.spring.io/milestone"
content {
// Netty 5 optional support
includeGroup io.projectreactor.netty
}
}
maven { url "https://repo.spring.io/libs-spring-framework-build" }
if (version.contains(-)) {
maven { url "https://repo.spring.io/milestone" }
}
if (version.endsWith(-SNAPSHOT)) {
maven { url "https://repo.spring.io/snapshot" }
}
}
-
setting.gradle文件修改 替换国内镜像
repositories {
maven {
url https://maven.aliyun.com/repository/public
}
maven {
url "https://maven.aliyun.com/repository/google"
}
maven { url "https://maven.aliyun.com/repository/gradle-plugin/" }
gradlePluginPortal()
google()
mavenCentral()
}
注释掉id “io.spring.ge.conventions” version “0.0.11”
plugins {
id "com.gradle.enterprise" version "3.11.1"
//id "io.spring.ge.conventions" version "0.0.11"
}
编译
使用Idea集成的Gradle进行Reload
编译完成
通过下载相关依赖,完成整个build过程
