gitee clone导入_Spring源码导入历程

相信很多学习Spring源码的读者都尝试过导入spring源码、最后都因为一些原因最终放弃导入源码,比如我所遇到的原因;
  1. clone 太慢了
  2. gradle不熟悉
  3. 导入之后报了很多错误(之后读源码就一直这样,也懒得问了)
  4. 版本兼容问
..... 我从刚开始一时兴起导入源码学习,到现在大概有三年多的时间了,但是一直都未导入成功过,今天终于有幸成功了,在这里分享给大家。 参考博客: https://blog.csdn.net/qq_41907991/article/details/107101967 我觉得这篇博客写的比较好,如果能按照这个完成,后面的就没必要看了

05c29c4c0cef5054fc032d340e1564e9.png

首先,小编导入的工具是idea ,这里用的是最新版(2020版本),之前用的是2017版因为不能兼容gradle 5.4.6 从而放弃2017版。 网址 :https://github.com/spring-projects/spring-framework 如果限速,那么就用国内gitee的地址,每一天更新一次: https://gitee.com/mirrors/Spring-Framework Gradle :https://gradle.org/releases/ 点击进去下载二进制文件,这里用的是5.4.6版本 JDK:1.8+ ------------------------------------------------------------------------------ 好了,下面就开始我们的导入spring源码之旅了。 在本地客户端装上git 之后,执行以下命令
git clone https://github.com/spring-projects/spring-framework.git
等待下载完成之后,进入目录执行
gradlew :spring-oxm:compileTestJava

48c2f97f9a2c998552d2e57824a29032.png

可以看到这里生成一个.gradle文件夹

0d898b4d27c1fa04e1c293da231dc5e1.png

可以看到我们所用的gradle版本

20624407ef71bb9d734d7569405142a5.png

然后在init.d里面新增一个文件init.gradle

7a0973c4b09a1204c99a54ac3c51787e.png

输入如下内容

allprojects{    repositories {        def ALIYUN_REPOSITORY_URL = 'https://maven.aliyun.com/repository/public/'        def ALIYUN_JCENTER_URL = 'https://maven.aliyun.com/repository/jcenter/'        def ALIYUN_GOOGLE_URL = 'https://maven.aliyun.com/repository/google/'        def ALIYUN_GRADLE_PLUGIN_URL = 'https://maven.aliyun.com/repository/gradle-plugin/'        all { ArtifactRepository repo ->            if(repo instanceof MavenArtifactRepository){                def url = repo.url.toString()                if (url.startsWith('https://repo1.maven.org/maven2/')) {                    project.logger.lifecycle "Repository ${repo.url} replaced by $ALIYUN_REPOSITORY_URL."                    remove repo                }                if (url.startsWith('https://jcenter.bintray.com/')) {                    project.logger.lifecycle "Repository ${repo.url} replaced by $ALIYUN_JCENTER_URL."                    remove repo                }                if (url.startsWith('https://dl.google.com/dl/android/maven2/')) {                    project.logger.lifecycle "Repository ${repo.url} replaced by $ALIYUN_GOOGLE_URL."                    remove repo                }                if (url.startsWith('https://plugins.gradle.org/m2/')) {                    project.logger.lifecycle "Repository ${repo.url} replaced by $ALIYUN_GRADLE_PLUGIN_URL."                    remove repo                }            }        }        maven { url ALIYUN_REPOSITORY_URL }        maven { url ALIYUN_JCENTER_URL }        maven { url ALIYUN_GOOGLE_URL }        maven { url ALIYUN_GRADLE_PLUGIN_URL }    }}

好了,我们的环境准备好了,下面开始导入项目了

由于我刚开始是在2017版本的idea中导入的代码,现在2020版本已找不到相关配置可以参考我上面给的博客(借用图片)

78598fe552b62a2aa73d4d0cb0cb199b.png

导入成功之后,项目基本上会自动构建,等待构建完成之后就可以了,但是最终卡在这里卡了三四个小时,一直报这个错误
org.jetbrains.plugins.gradle.model.BuildScriptClasspathModel'
据说是idea不支持高版本造成的,于是我尝试着把gradle改成4.4.1又报下面这个错误。
java.lang.AbstractMethodError: org.jetbrains.plugins.gradle.tooling.util.ModuleComponentIdentifierIm
最后无奈把idea版本升级了,然后再打开,大概等了一个小时左右就好了,运行相关测试类,可以跑通。如图

ba3603dc3ba0e0521e04e824421f37bf.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值