Spring源码环境在IDEA2020中搭建

废话不多说,直接开始

一、使用IDEA克隆Spring源码

1、中转Spring源码
因为github克隆源码实在是太慢了,而且失败的频率相对很高,所以需要中转源码。 什么意思呢? 就是通过码云来中转源码,如下图:
(1)从GitHub / GitLab导入仓库

在这里插入图片描述

(2)导入

在这里插入图片描述

(3)复制码云中转好了的Spring项目源码

在这里插入图片描述

二、安装本地Gradle

最新的Spring源码默认的Gradle版本是5.6.x的,我的建议是选择最新版本。低版本好像是有点问题 安装流程也挺简单的:

1、下载链接,提取码:q6l2

2、解压到任意路径:

![在这里插入图片描述](https://img-blog.csdnimg.cn/2020042721372135.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2R1bGkzNTU0MTk3,size_16,color_FFFFFF,t_70)

3、添加环境变量:
右键计算机 -> 选择属性 ->
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
测试环境变量是否成功:
在这里插入图片描述

三、IDEA克隆到本地

1、打开File 选择New -》选择Project from version control

在这里插入图片描述
2、复制码云克隆好的git连接点击clone
在这里插入图片描述
在这里插入图片描述

稍等片刻,就可以克隆成功,大约150mb,视你家网速状况
在这里插入图片描述
最后就是IDEA构建项目,要下些东西
在这里插入图片描述

四、解决gradle 代码报错的问题

在这里插入图片描述
第三个地方报错,解决办法其实就是解决jdk
在这里插入图片描述
1、选中项目按快捷键F4、Ctrl+Alt+Shift+S或者点击File菜单,选择Project Structure…
在这里插入图片描述
2、操作如下图:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
现在就不报错了。

五 接下来解决的是更新依赖慢的问题:

1、打开build.gradle文件,如图:
在这里插入图片描述
2、Ctrl +F 搜索 repositories,这是maven仓库地址
在这里插入图片描述
3、修改下图位置,添加自己搭建的私有库或阿里云公共库
瞎聊:我这里是自己搭建的本地私有库,用了好几年,会更快一些
在这里插入图片描述
在这里插入图片描述
这里源码所有的依赖都更新完成
接下来是构建源码:
在这里插入图片描述

放心、不一定会报错,但是也是有报错的可能,我也希望一次成功,但是Spring-core这个子项目有时候会找不到cglib
构建时间会比较久
在这里插入图片描述
遇到这种情况,先不要慌,拍个照,发个朋友圈
解决办法1:
重新按照以上步骤再来一遍。
注:我写这篇文章时一次就构建成功了,因为之前那个代码填坑填出来问题了
在这里插入图片描述
在这里插入图片描述

失败的,构建不成功,缺少两个关键jar包,查看spring-core项目 build 文件夹下,并不存在,说明此处构建失败
在这里插入图片描述
解决方法2:就是将这两个jar下下来,添加进依赖里面。不过一般要是出错的话,基本后面会有很多错误的,所以推荐第一种方法解决。

其实这两个jar包的源码就在Spring-core子项目里面的gradle里面,生成代码就是这段代码,有同行说自带的不兼容,要自己下,我觉得这纯属无稽之谈,不兼容还写代码自己构建,那不是自己坑自己

def cglibVersion = "3.3.0"
def objenesisVersion = "3.1"

configurations {
	cglib
	objenesis
	coroutines
}

task cglibRepackJar(type: ShadowJar) {
	baseName = 'spring-cglib-repack'
	version = cglibVersion
	configurations = [project.configurations.cglib]
	relocate 'net.sf.cglib', 'org.springframework.cglib'
	relocate 'org.objectweb.asm', 'org.springframework.asm'
}

task objenesisRepackJar(type: ShadowJar) {
	baseName = 'spring-objenesis-repack'
	version = objenesisVersion
	configurations = [project.configurations.objenesis]
	relocate 'org.objenesis', 'org.springframework.objenesis'
}

IDEA已经构建好的代码,在别人那里是不兼容的,所以会报错,一般不要下载别人构建好的代码.因为Idea的项目配置文件内容与别人的是不同的。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值