spring-framework 源码的下载与构建
整体流程:
- 本地环境准备
- 找到源码地址并拉取到本地
- 根据IDE工具查看源码中提供的不同的安装说明并具体操作
- 构建会出现的的错误及解决
一.本地环境准备
spring-framework 源码使用gradle构建的而不是maven,因此对于只熟悉maven的小伙伴儿们可能会多一个环节,不过不用怕,也很简单
gradle官网https://services.gradle.org/distributions/上下载对应的版本
下载后解压并复制根目录的路径
在电脑环境变量中加入
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() maven { name "Alibaba" ; url "https://maven.aliyun.com/repository/public" } maven { name "Bstek" ; url "http://nexus.bsdn.org/content/groups/public/" } maven { url "http://repo.springsource.org/plugins-release" } 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 ‘https://maven.aliyun.com/repository/public‘ } maven { name "Bstek" ; url ‘http://nexus.bsdn.org/content/groups/public/‘ } maven { name "M2" ; url ‘https://plugins.gradle.org/m2/‘ } maven { url "http://repo.springsource.org/plugins-release" } <-------------------------这个加入后里面下载插件的错误就解决了 mavenCentral()}
按照安装说明排除掉“spring-aspects”模块
构建成功效果图
构建过程可能还会出现很多问题,解决了构建问题,接下来才能正式啃spring源码这块硬骨头,不说了,我要去啃了,泪崩!