Idea导入Spring-framework源码攻略
不用再找来找去了,他们的文章写得都一样,按照我的步骤不可能不成功
电脑前的你,第一次导入spring-framework
项目,但是失败的次数和你找网上的文章的次数一样多了,你已经心累了,不禁自问
“这是人干的事吗?”
一、导入Spring源码的准备
-
心路历程
① 2020.03的时候我下载了Spring-framework 5.2.x
的版本,并配置了Gradle 4.3
的版本,最近闲了,就开始搞这个,发现问题很多,很多问题都找不到,最后大概的归结于Gradle
的版本太低,于是我将版本升级到了6.5
②Spring-framework 5.2.x
,Gradle 6.5
,build 成功了,但是写的demo
一直测不过去,于是将Spring-framework 5.2.x
升级到了最新的版本
③spring-framework-master 5.3.3
+Gradle 6.5
,成功build
,遇到了依赖下载很慢以及JDK
的版本问题,最后成功解决,在不断试的过程中,遇到了很多问题,我将这些问题记录了下来,建议你们使用我推荐的版本去导入源码本篇博客全程没有
ctrl+ c 和 crtrl+v
的操作 !!! -
本人工具及环境介绍
Windows 10
+IDEA 2020.1
+JDK 11.0.9
+Gradle 6.5
+spring-framework-master 2.5.0-SNAPSHOT
-
本人吐血建议
网上的成功案例很多,失败案例很多,不知道写了文章的博主成功还是失败了的案例也很多,为了少走弯路,gradle
的版本建议高一点,那些gradle 4.x
的版本的错太难找了
1.1 Gradle的下载和配置
- 官网地址
https://gradle.org/releases/
- 版本选择
找到对应的版本,选择binary-only
- 配置环境变量
解压后,别放中文路径兄弟
① 新建系统变量GRADLE_HOME
② 新建仓库系统变量GRADLE_USER_HOME
③path
中添加%GRADLE_HOME%\bin
④ 检查是否配置成功
gradle -v
1.2 IDEA集成Gradle
- 依次执行如下步骤
Settings
->Build
->Gradle
1.3 Spring-framework项目下载
- 下载地址
https://github.com/spring-projects/spring-framework
- 下载步骤
可以下载zip
包解压后倒入项目,也可以直接通过Git
check下来 ,个人建议通过Git
拉下来,会有很清晰的代码提交记录
二、下载后的配置及避坑
2.1 导入前的配置
- 配置文件
gradle-wrapper.properties
该文件在xx \spring-framework-5.2.x\gradle\wrapper\gradle-wrapper.properties
路径下
如果你的Idea
没有配置Gradle
,当前电脑的开发环境也没有配置,这里就需要指定Gradle
的版本,Idea
会去下载并配置到当前的环境,建议此处尽量不动 - 配置阿里镜像中央仓库
还是在build.gradle.
中配置
repositories {
maven { url 'http://maven.aliyun.com/nexus/content/repositories/google' }
maven { url 'http://maven.aliyun.com/nexus/content/groups/public/' }
maven { url 'http://maven.aliyun.com/nexus/content/repositories/jcenter'}
maven { url 'http://repo.springsource.org/plugins-release'}
// mavenCentral()
}
allprojects {
repositories {
maven { url 'http://maven.aliyun.com/nexus/content/repositories/google' }
maven { url 'http://maven.aliyun.com/nexus/content/groups/public/' }
maven { url 'http://maven.aliyun.com/nexus/content/repositories/jcenter'}
maven { url 'http://repo.springsource.org/plugins-release'}
}
}
2.2 导入步骤
-
导入步骤
File
->open
-> 找到你下载的源码文件夹 -> 选择根目录的settings.gradle
此时开始下载依赖,我大概下载了半个小时左右最后,祝贺你,导入成功
三、常见的错误处理
3.1 运行错误
- Circular dependency between the following tasks
① 长这样
②处理方法
该问题主要是由于项目Kotlin
的版本设置(build.gradle
) 和Idea
中的设置版本不同导致的,将版本修改成一致1.8
即可
- An exception occurred applying plugin request [id: ‘com.gradle.build-scan’, version: ‘1.8’]
错误原因:如果你导入的spring-framework
的版本为5.3
以下,同时Gradle
的版本比较高,会出现这样的错误。
解决办法:替换插件,具体可参考官方说明https://docs.gradle.com/enterprise/compatibility/#build_scan_plugin
,在我使用的这个最新的源码版本中,已经做了该插件的替换
配置com.gradle.enterprise
插件,一定要调整好顺序
pluginManagement {
repositories {
gradlePluginPortal()
maven { url 'https://repo.spring.io/plugins-release' }
}
}
plugins {
id "com.gradle.enterprise" version "3.5"
}
gradleEnterprise {
server = "https://gradle-enterprise.mycompany.com"
}
apply from: "$rootDir/gradle/build-cache-settings.gradle"
- Could not get unknown property ‘variants’ for object of …
① 文件路径xxx\spring-framework-5.2.x\gradle\spring-module.gradle
② 由于高版本(6.x
)的gradle
不支持该组件,不删除的话会导致报错,所以注释掉