"
整体流程:
本地环境准备
找到源码地址并拉取到本地
根据IDE工具查看源码中提供的不同的安装说明并具体操作
构建会出现的的错误及解决
一.本地环境准备
spring-framework 源码使用gradle构建的而不是maven,因此对于只熟悉maven的小伙伴儿们可能会多一个环节,不过不用怕,也很简单
gradle官网上下载对应的版本
下载后解压并复制根目录的路径//代码效果参考:https://v.youku.com/v_show/id_XNjQwMDM5ODU5Mg==.html
在电脑环境变量中加入
GRADLE_HOME是上述复制的根路径
GRADLE_USER_HOME配置的是以前的maven仓库,变量名不能变动,gradle仓库可以复用maven仓库,这还是挺好的哈!
别忘了还要在path中配置一下
保存确定后cmd中查看一下是否安装成功
另一个IDE工具我用的是idea
二.找到源码地址并拉取到本地
上github上找到spring-framework项目并获取下载地址
三.根据IDE工具查看源码中提供的不同的安装说明并具体操作
源码下载后查看对应IDE工具的安装说明
打开import-into-idea.md
步骤中重点提一下第一步,在导入idea中要提前编译一下,不然会报错
进入源码的根目录中
进入dos命令窗口输入gradlew :spring-oxm:compileTestJava 在这里我犯了次傻,直接复制粘贴了./gradlew :spring-oxm:compileTestJava
这对于我首次用gradle的我真的是太残忍了
后面想了想,我本地是window系统,“./”似乎是类似shell脚本中的执行exe文件,于是我去掉了“./”,成功了,哈哈!
一段时间后提示成功
idea中从文件中new一个项目,注意选中到gradle.build,我之前只选到根目录似乎出现了问题哈
四.构建会出现的的错误及解决
导入成功后构建过程中出现了好多次报错问题,也由于怀疑自己,重新下载了几次源码,网上查的问题是idea版本和gradle需要对应,这种答案似乎都不准确
我本地是idea2018.1和gradle6.4.1,最终构建成功了
最终build.gradle中有两个地方有大的改动,如下
buildscript {
repositories {
mavenLocal()
//代码效果参考:https://v.youku.com/v_show/id_XNjQwNjg0MTUwMA==.html
maven { name ""Alibaba"" ; url """" }maven { name ""Bstek"" ; url """" }
maven { url """" }
mavenCentral()
}
dependencies {
classpath(""io.spring.gradle:propdeps-plugin:0.0.9.RELEASE"")
classpath(""org.asciidoctor:asciidoctorj-pdf:1.5.0-alpha.16"")
}
}
repositories {
mavenLocal()
maven { name ""Alibaba"" ; url '' }
maven { name ""Bstek"" ; url '' }
maven { name ""M2"" ; url '' }
maven { url """" } <-------------------------这个加入后里面下载插件的错误就解决了
mavenCentral()
}
按照安装说明排除掉“spring-aspects”模块
构建成功效果图
构建过程可能还会出现很多问题,解决了构建问题,接下来才能正式啃spring源码这块硬骨头,不说了,我要去啃了,泪崩!
"