
作者 | 阿Q
来源 | 阿Q说代码
有小伙伴私信我说想要研究下Spring的源码,想让我出一期教程来实现IDEA导入Spring源码,今天它来了~
版本 :IDEA 2020.2.3 ;Spring 5.0.x ;gradle 4.4.1 ;
先从github上面把 spring 源码下载下来并解压:

切记:解压完成后不要直接用
IDEA打开,因为Spring的源码是用gradle构建的。如果已经用IDEA打开了请删除后重新解压。
我们找到文件夹
spring-framework-5.0.x\gradle\wrapper
下的 gradle-wrapper.properties 文件,查看里边的 gradle 版本,去官网下载。


下载完成之后把 gradle 的环境变量配置一下,可以用gradle -version 来验证 gradle 是否配置成功

在 USER_HOME/.gradle/ 下面新建 init.gradle 文件,将国外源换成国内镜像
allprojects {repositories {def REPOSITORY_URL = 'http://maven.aliyun.com/nexus/content/groups/public/'all { ArtifactRepository repo ->if(repo instanceof MavenArtifactRepository){def url = repo.url.toString()if(url.startsWith('https://repo1.maven.org/maven2/')||url.startsWith('https://jcenter.bintray.com/')){project.logger.lifecycle "Repository ${repo.url} replaced by $REPOSITORY_URL."remove repo}}}maven {url REPOSITORY_URL}}
}在 spring-framework-5.0.x 下打开git 的窗口执行以下命令
./gradlew :spring-oxm:compileTestJava
该命令的作用是将 spring 转成IDEA 可以导入的工程结构。

如果你新开的
Windows的dos窗口,先进入源码的目录文件夹,执行命令不用加前面的./
配置 IDEA 中的 gradle

使用 File -> open 把 Spring 工程导入到 IDEA 中,并等待 jar 下载完成。
如遇报错信息:

在 build.gradle 中添加
maven { url "http://maven.aliyun.com/nexus/content/groups/public"}
其目的就是为了换成国内的镜像(init.gradle 有时没有生效)

编译时报错如下:

原因是 gradle 和 gradle 插件版本过旧,更换更高的版本可以解决,但这个问题只是提示,不影响编译。
在 test 包中随便找了一个单元测试运行,成功运行

以上就是今天的全部内容了。

往期推荐
好难啊……一个 try-catch 问出这么多花样
k8s集群居然可以图形化安装了?
恶意流量威胁新趋势,揭秘网络黑产3大核心本质
将 k8s 制作成 3D 射击游戏,好玩到停不下来

点分享

点收藏

点点赞

点在看