1.Spring源码构建之gradle环境搭建
注意注意:搭建spring源码环境,IDEA版本要用新版2020系列/2021的IDEA来构建spring源码环境,否则低于2020版本的idea,是不支持gradle 6.8.2以上高版本的!!而我本次所用的IDEA版本是2020.3.2的版本
gradle6.8.2:下载链接:百度网盘,让美好永远陪伴s/1u4OmbORo6i0uA4B-HENiCw 提取码:h8cz
也可以自行到官方网站下载:
解压到磁盘
配置环境变量
GRADLE_HOME、PATH、GRADLE_USER_HOME【可以指向安装目录自己创建的.gradle文件夹】:
PATH = %GRADLE_USER_HOME%\bin:
maven本地仓库 --> 所有的jar包:
配置下载加速
Gradle 还是从 maven 仓库下载的。
给gradle安装目录下init.d文件夹,放一个init.gradle文件
init.gradle文件内容如下:
gradle.projectsLoaded {
rootProject.allprojects {
buildscript {
repositories {
def JCENTER_URL = 'https://maven.aliyun.com/repository/jcenter'
def GOOGLE_URL = 'https://maven.aliyun.com/repository/google'
def NEXUS_URL = 'http://maven.aliyun.com/nexus/content/repositories/jcenter'
all { ArtifactRepository repo ->
if (repo instanceof MavenArtifactRepository) {
def url = repo.url.toString()
if (url.startsWith('https://jcenter.bintray.com/')) {
project.logger.lifecycle "Repository ${repo.url} replaced by $JCENTER_URL."
println("buildscript ${repo.url} replaced by $JCENTER_URL.")
remove repo
}
else if (url.startsWith('https://dl.google.com/dl/android/maven2/')) {
project.logger.lifecycle "Repository ${repo.url} replaced by $GOOGLE_URL."
println("buildscript ${repo.url} replaced by $GOOGLE_URL.")
remove repo
}
else if (url.startsWith('https://repo1.maven.org/maven2')) {
project.logger.lifecycle "Repository ${repo.url} replaced by $REPOSITORY_URL."
println("buildscript ${repo.url} replaced by $REPOSITORY_URL.")
remove repo
}
}
}
jcenter {
url JCENTER_URL
}
google {
url GOOGLE_URL
}
maven {
url NEXUS_URL
}
}
}
repositories {
def JCENTER_URL = 'https://maven.aliyun.com/repository/jcenter'
def GOOGLE_URL = 'https://maven.aliyun.com/repository/google'
def NEXUS_URL = 'http://maven.aliyun.com/nexus/content/repositories/jcenter'
all { ArtifactRepository repo ->
if (repo instanceof MavenArtifactRepository) {
def url = repo.url.toString()
if (url.startsWith('https://jcenter.bintray.com/')) {
project.logger.lifecycle "Repository ${repo.url} replaced by $JCENTER_URL."
println("buildscript ${repo.url} replaced by $JCENTER_URL.")
remove repo
}
else if (url.startsWith('https://dl.google.com/dl/android/maven2/')) {
project.logger.lifecycle "Repository ${repo.url} replaced by $GOOGLE_URL."
println("buildscript ${repo.url} replaced by $GOOGLE_URL.")
remove repo
}
else if (url.startsWith('https://repo1.maven.org/maven2')) {
project.logger.lifecycle "Repository ${repo.url} replaced by $REPOSITORY_URL."
println("buildscript ${repo.url} replaced by $REPOSITORY_URL.")
remove repo
}
}
}
jcenter {
url JCENTER_URL
}
google {
url GOOGLE_URL
}
maven {
url NEXUS_URL
}
}
}
}
即可进行加速下载。
配置idea整合:
如果你环境变量配置了GRADLE_USER_HOME,idea一般都会自动帮你感应到,如果没有感应到,那你自己指定一下
前置:提前解决可能会在构建spring源码出现的一个问题
很多人构建完spring的源码,并测试运行后,会报一个git的错误。
解决方案:
在idea里面设置默认的git地址,不要写自己的git地址(这一步可能需要做git的环境变量,也有可能不配置环境变量新版的idea会自动识别。)我是自己设置了git的环境变量就解决了报git的问题。
具体设置git环境变量如下:
找到自己电脑目录下的git,在path里面设置这三个git的环境变量,设置好环境变量以后,然后记得把idea设置好的git地址,设置成默认的,然后重启idea。应该就能显示默认的地址了
我的git目录: