win10如何编译spring源码(v5.3.7)

本文档详细介绍了如何手动编译Spring框架的步骤,包括环境配置、Gradle版本匹配、源码拉取、编译过程及IDEA导入。重点强调了IDE版本、Gradle配置和国内镜像的使用,以解决可能的下载问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

总体环境

jdk11
spring 5.3.7
idea2022.1 (Ultimate Edition)
(PS. idea版本很重要,我先前用2019版本卡了我特别久)

第一步

spring官网支持gradle 编译,首先从github上拉取自己需要的spring分支https://github.com/spring-projects/spring-framework, 切换到5.3.7。

git clone https://github.com/spring-projects/spring-framework.git
git branch feature/5.3.7 v5.3.7
git checkout feature/5.3.7

第二步

查看gradle/wrapper下的gradle-wrapper.properties,版本一定要对应上

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

也可以下载后改成自己的配置文件

distributionUrl=file\:///D\:/Tools/gradle-6.8.3-bin.zip

配置文件属性解释:
1.去 D:/Tools/gradle-6.8.3-bin.zip 下载gradle-6.8.3版本,只包含binary的版本。
2.下载的gradle-6.5.1-bin.zip存放distributionBase\wrapper\dists目录中。(注:具体还有2级目录,即全路径为distributionBase\wrapper\dists\gradle-6.8.3-bin<url-hash>\,gradle-6.8.3-bin目录是根据下载的gradle的文件名来定的,目录名是根据distribution url路径字符串计算md5值得来的。
3.解压gradle-6.8.3-bin.zip,将解压后的文件存放到${zipStoreBase}\wrapper\dists中。(注:具体还有2级目录,同上)

第三步

修改build.gradle

		repositories {
			mavenCentral()
			maven { url "https://repo.spring.io/libs-spring-framework-build" }
			maven { url "https://repo.spring.io/milestone" } // Reactor
			// 添加下面两个
			maven {url 'https://maven.aliyun.com/nexus/content/groups/public/'} //阿里云
			maven {url 'https://maven.aliyun.com/nexus/content/repositories/jcenter'}
		}

修改settings.gradle文件(不做身份验证)

plugins {
	id "com.gradle.enterprise" version "3.2"
	// 注解后,就不会再进行身份验证了
	// id "io.spring.gradle-enterprise-conventions" version "0.0.2"
}

第四步 开始编译

./gradlew.bat --stacktrace

确保jdk版本为至少11(否则会报jdr错误)

graldew:spring-oxm:compileTest.java

在这里插入图片描述
在这里插入图片描述

gradlew :spring-core:compileTestJava

导入idea
查看根目录的import-into-idea.md文档即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值