环境准备
OS:MacOS
JDK:java version “1.8.0_231”
idea:2019.3.4
Gradle:5.6.4
一、下载Spring源码
1 方式1-Github官方
https://github.com/spring-projects/spring-framework
主意:
选择release版本下载,网速太慢,不建议是使用该方法下载。
2 方式2-Gitee
二.修改配置文件
在解压完后的目录下,有几个配置文件我们需要提前修改:
1 build.gradle
第一步:搜索repositories,添加阿里云maven镜像仓库
repositories {
maven{ url 'https://maven.aliyun.com/nexus/content/groups/public/'}
maven{ url 'https://maven.aliyun.com/nexus/content/repositories/jcenter'}
mavenCentral()
maven { url "https://repo.spring.io/libs-spring-framework-build" }
}
第二步:搜索configurations,将其注释掉
// configurations.all {
// resolutionStrategy {
// cacheChangingModulesFor 0, "seconds"
// cacheDynamicVersionsFor 0, "seconds"
// }
// }
因为使用gradlew(gradle-wrapper命令) 先编译oxm:compileTest Java的操作,可能会导致进度条卡在0%很长时间,编译过程相当缓慢!
2 gradle.properties
version=5.2.15.RELEASE
org.gradle.daemon=true
org.gradle.jvmargs=-Xmx4096m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
org.gradle.caching=true
org.gradle.parallel=true
3 settings.gradle
第一行repositories加上阿里云的仓库地址,其余两个不要动。如下所示:
pluginManagement {
repositories {
maven { url "https://maven.aliyun.com/repository/public" }
gradlePluginPortal()
maven { url 'https://repo.spring.io/plugins-release' }
}
}
4 gradle-wrapper.properties(可选)
如果后面发现下载gradle速度比较慢,可以先下载到本地。然后在这个文件里指定,就不需要再下载了。
此文件的位置:Spring-Framework/gradle/wrapper/gradle-wrapper.properties
5 安装自己的gradle
虽然当项目导入到idea后,idea里有gradle。但是就如同maven一样,我们也自己下载gradle,并且在idea里使用我们自己的gradle。
mac环境下将上一步下载的gradle.zip解压后:
vim ~/.bash_profile
修改配置文件
export GRADLE=/Users/Develop/develop-tools/gradle-5.6.4(你的gradle的路径);
export PATH="$MAVEN_HOME/bin:$PATH";
保存退出,刷新配置文件
source ~/.bash_profile
三.编译spring-oxm:compileTestJava
在spring源码目录下,有以下两个文件。windows使用gradlew.bat,mac直接执行左边这个即可。
当然也可以在cmd或者bash里运行命令
gradlew :spring-oxm:compileTestJava
编译截图如下,如果配置都正确的话,是很快的。
参考
感谢这篇博客 https://blog.csdn.net/MuZiYu2015/article/details/118157470