目录
- 1.下载spring源码
- 第一种下载:从github下载
- 第二种下载:从码云下载
- 下载之后后目录结构:
- 2.安装gradle
- 修改一下spring配置文件 仓库地址改为阿里云
- idea配置gradle
- 导入项目后配置
我用的是
spring 版本为5.2.9.BUILD-SNAPSHOT
gradle 版本为5.6.4
idea 版本为2019.3.4
在选择的时候注意版本兼容以及和idea的版本兼容
1.下载spring源码
第一种下载:从github下载
spring官网https://spring.io/ 第一步:进入官网
第二步:进入spring framework 点击右边的github头像 进入github下载原因
github地址 https://github.com/spring-projects/spring-framework
第二种下载:从码云下载
码云地址 https://gitee.com/ 码云仓库地址 https://gitee.com/mirrors/Spring-Framework?_from=gitee_search
第一步:进入码云搜索spring framework 找到Gitee极速下载
第二步:进行克隆下载
git clone -b 5.2.x https://gitee.com/mirrors/Spring-Framework.git
可以使用-b 参数指定分支克隆自己想要的版本
下载之后后目录结构:
2.安装gradle
在安装之前要先安装jdk
现在的spring是用gradle进行编译的,不在使用maven
(gradle和maven一样只是比mave更简洁)
gradle官网 https://gradle.org/
第一步:进入官网选择About -> Gradle Releases
第二步:选择要下载的版本 点击后面的complete进行下载。版本选择查看spring源码中的
gradle -> wrapper ->gradle-wrapper.properties 配置文件
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
# 配置文件 gradle版本
distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.4-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
# gradle安装完成后将distributionUrl改成本地地址
distributionUrl=file\:///D:/E/java/soft/gradle/gradle-5.6.4-all.zip
注意:gradle-wrapper.properties配置文件中的distributionUrl改成本地地址,不然每次都会下载新的gradle
gradle-bin为安装包,gradle-all为源码加安装包,选择bin包就可以了 我用的是all包
除了从官网下载还可以从 https://services.gradle.org/distributions/ 下载
gradle-src为源码包,gradle-bin为安装包,gradle-all为源码加安装包
第三步:下载后解压并配置环境变量
1、 配置:GRADLE_HOME
2、配置 PATH
%GRADLE_HOME%\bin
3、配置:GRADLE_USER_HOME
gradle的仓库位置
进入命令窗口执行 gradle -v 如果出现如下信息说明安装成功
修改一下spring配置文件 仓库地址改为阿里云
(访问外网编译速度慢,所以修改成阿里云仓库地址)
第一:修改 settings.gradle 文件 在文件的开始部分
pluginManagement {
repositories {
// 新增阿里云仓库地址
maven { url 'https://maven.aliyun.com/repository/public' }
gradlePluginPortal()
maven { url 'https://repo.spring.io/plugins-release' }
}
}
第二:修改build.gradle 搜索repositories关键字 大概在292行左右
repositories {
// 在前面加上这两个地址
maven { url "http://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" }
maven { url "https://repo.spring.io/snapshot" } // Reactor
}
在repositories 下面有一个configurations.all 配置
新增了一个 force ‘xml-apis:xml-apis:1.0.b2’
如果在编译的时候提示xml-apis:xml-apis:2.0.2 不全需要替换成1.0.b2的时候加这个加上
如果编译不报错可以不用加
configurations.all {
resolutionStrategy {
cacheChangingModulesFor 0, "seconds"
cacheDynamicVersionsFor 0, "seconds"
// 增加
force 'xml-apis:xml-apis:1.0.b2'
}
}
idea配置gradle
导入项目后配置
到此spring源码下载和gradle配置完成 可以进行编译了
编译之后运行遇到的错误
1、CoroutinesUtils找不到该类
Error:(354, 51) java: 找不到符号
符号: 变量 CoroutinesUtils
位置: 类 org.springframework.core.ReactiveAdapterRegistry.CoroutinesRegistrar
解决方法:点击File -> Project Structure -> Libraries -> + -> Java,然后选择spring-framework/spring-core/kotlin-coroutines/build/libs/kotlin-coroutines-5.2.9.BUILD-SNAPSHOT.jar,在弹出的对话框中选择spring-core.main,在重新build项目即可然后在gradle点一下刷新。
2、No such property: GradleVersion for class: JetGradlePlugin
提示这个错误 idea版本和gradle版本不匹配