Spring5源码分析(1)----spring源码编译

1.下载Spring源码

GitHub Spring源码下载链接: https://github.com/spring-projects/spring-framework.
注意:下载的时候选择branch和对应的tag,下载RELEASE版本的,这种是正式版,稳定性更好,M1,M2,…中的M是milestone的意思,意思是里程碑,代表着有重大改进的版本。用git克隆或者直接下载zip包,我一般都是用spring-framework-5.1.20.RELEASE。由于5.1.20版本的源码,我之前很早就编译过了,所以后面演示我用的spring-framework-5.2.10.RELEASE重新构建一遍。

2.构建工具gradle

安装源码对应的gradle版本(也可以不安装),建议使用gradleWrapper中的gradle。gradleWrapper在该文件中有体现,相当于远程自动下载,所以可以不下载gradle,采用远程的同一版本。
**文件路径:**F:\spring-framework-5.2.10.RELEASE\gradle\wrapper\gradle-wrapper.properties,如果下载gradle,最好和该文件中版本一致。

distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.4-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists

修改bulid.gradle文件
F:\spring-framework-5.2.10.RELEASE\build.gradle
添加阿里云镜像,减少因jar包下载不下来而导致的问题。

	repositories {
		<!--添加阿里云镜像-->
		maven{url 'http://maven.aliyun.com/nexus/content/groups/public/'}
		maven{url 'http://maven.aliyun.com/nexus/content/repositories/jcenter'}
		mavenCentral()
		maven { url "https://repo.spring.io/libs-spring-framework-build" }
	}

3.编译源码

3.1 编译complieTestJava模块

打开源码所在文件夹,在window cmd命令中输入:

gradlew :spring-oxm:compileTestJava

编译报错:
Error resolving plugin [id: ‘io.spring.gradle-enterprise-conventions’, version: ‘0.0.2’]。如果出现下图所示的错误,则修改bulid.gradle文件。
Spring5源码分析(1)----spring源码编译
首先,将第三行中的id ‘io.spring.gradle-enterprise-conventions’ version '0.0.2’注释掉,然后修改mavenBom中的依赖版本,如下图所示。

	//id 'io.spring.gradle-enterprise-conventions' version '0.0.2'
	mavenBom "io.netty:netty-bom:4.1.39.Final" //原先是4.1.51
	mavenBom "io.projectreactor:reactor-bom:Dysprosium-SR9" //原先是SR13

修改完后,重新编译,构建成功。
Spring5源码分析(1)----spring源码编译

3.2 导入项目到idea中

上一篇:k8s安装eureka集群


下一篇:COM组件