Spring源码学习一,下载Spring源码并配置gradle环境
Spring
是基于gradle
开发,可以简单理解gradle
是和Maven
一样的Jar包管理工具
1. 下载Spring源码
我们先下载Spring源码,直接去Spring的GitHub主页下载:Spring主页,值得一提的是Spring的作者Rod Johnson
是一位音乐学博士,看来写代码厉害的都是学音乐的😝
2. 下载gradle并配置环境
注意:解压完成后不要直接用 IDEA 打开,因为 Spring 的源码是用 gradle 构建的。如果已经用 IDEA 打开了请删除后重新解压
我们首先查看一下自己下的Spring源码对应的gradle版本,在spring-framework-5.0.x\gradle\wrapper
下的gradle-wrapper.properties
文件,查看里边的 gradle 版本并下载相应版本
下载并解压(强烈建议所有环境依赖放在一个文件下便于管理),先在配置下环境,打开系统环境遍历
然后验证一下看环境是否配好了
win+R打开cmd
接下来我们需要在用户目录下新建一个
init.gradle
文件,将国外源换成国内镜像(如果没有.gradle 这个目 录,需要自己新建一个)
配置文件:
allprojects{
repositories {
def ALIYUN_REPOSITORY_URL = 'https://maven.aliyun.com/nexus/content/groups/public'
def ALIYUN_JCENTER_URL = 'https://maven.aliyun.com/nexus/content/repositories/jcenter'
all { ArtifactRepository repo ->
if(repo instanceof MavenArtifactRepository){
def url = repo.url.toString()
if (url.startsWith('https://repo1.maven.org/maven2')) {
project.logger.lifecycle "Repository ${repo.url} replaced by $ALIYUN_REPOSITORY_URL."
remove repo
}
if (url.startsWith('https://jcenter.bintray.com/')) {
project.logger.lifecycle "Repository ${repo.url} replaced by $ALIYUN_JCENTER_URL."
remove repo
}
}
}
maven {
url ALIYUN_REPOSITORY_URL
url ALIYUN_JCENTER_URL
}
}
}
3. 在IDEA中打开Spring源码
首先我们要用cmd进入到Spring目录,然后用
gradlew :spring-oxm:compileTestJava
将spring 转成 IDEA 可以导入的工程结构。
构建成功:
也有可能构建失败,报错像下面这样,是因为没有安装git工具,或者没有初始化spring源码的目录,进入git bash here,敲入git init
Build scan background action failed.
org.gradle.process.internal.ExecException: Process 'command 'git'' finished with non-zero exit value 128
如果还是有报错可以不用管它,先打开idea导入Spring
源码工程
检查一下自己gradle
的地址,上面那个是jar包
放的目录,会在此目录下生成一个cache
的目录。下面那个就是gradle
的地址
看下目录下的
build.gradle
文件,将下载的镜像源修改一下
将阿里云的镜像源放在前面:
maven { url 'https://maven.aliyun.com/nexus/content/groups/public/' }
然后点击右边插件区gradle
图表的那个小象,下载一下依赖,漫长的等待后就会下载完毕