飞道的博客

这些年使用Gradle构建Spring5.X源码阅读环境所踩过的坑

366人阅读  评论(0)

为了更好的学习spring框架精髓,搭建一个完整能运行的spring源码环境是首要的一步!毕竟看源码不写注释过不了多久就很容易忘记,构建环境的过程中出现了各种问题,经过把一个个坑修复后,本篇文章主要总结了一些环境搭建踩过的坑,难免不全面,还望各位看官多多谅解!

1、前期环境准备

JDK版本:1.8
Gradle版本:4.9
Spring源码:5.0.X

提别注意:安装配置Gradle的环境变量的时候,请确保配置成功了,在cmd窗口执行 gradle -version 命令查看。这一步骤非常重要,能有效避免报一些杂七杂八的异常!

2、搭建过程可能遇到的问题

由于搭建步骤网上一大堆,特别符合大众,这里不再重复啰嗦可自行参考,当然了我暖男来的,已经给各位看官准备好了,可自行参考:Spring源码阅读环境搭建(以及执行单元测试后的错误解决)
搭建文档
搭建视频

暖到了没有 ???

问题1:构建失败类型

这类问题可能是当前运行环境版本不支持问题,可以试着点进异常代码中然后注释掉,保证构建正常!比如下面这个异常:

问题2:gradle Read timed out 超时问题

这个问题很容易理解,无非就是网络问题,可以build加参数,也可以使用阿里云镜像站点下载,这里详细说一下后者。

build.gradle文件中添加阿里云的镜像URL,详细如下

maven { url 'https://maven.aliyun.com/repository/public/' }
maven { url 'https://maven.aliyun.com/repository/google/'}
maven { url 'https://maven.aliyun.com/repository/jcenter/'}

问题3:循环依赖error

问题如下

Circular dependency between the following tasks:
:spring-beans:compileGroovy
\--- :spring-beans:compileJava
     \--- :spring-beans:compileKotlin
          \--- :spring-beans:compileGroovy (*)

仔细看报错关键信息,可以看出是关于spring-beans中的,解决方法自然是在spring-beans中!

将 spring-beans.gradle 最后三行替换成如下代码

def deps = compileGroovy.taskDependencies.immutableValues + compileGroovy.taskDependencies.mutableValues 
compileGroovy.dependsOn = deps - "compileJava" 
compileKotlin.dependsOn(compileGroovy) 
compileKotlin.classpath += files(compileGroovy.destinationDir) 

总结

当然各种各样的异常还有很多很多,这里就不一一道来了

遇到错误冷静仔细看关键报错信息,英语不好有有道,想不通没头绪问度娘谷子哥,实在没办法就先放着休息一下大脑,一般睡一觉就能决绝了!!!

最后
请思维活跃点!思维别被固化了,请多多多多动手,多多多多多尝试,不要害怕怕怕怕出错!!!


转载:https://blog.csdn.net/qq_44543508/article/details/106538648
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场