废话不多说,直接开始
一、使用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的项目配置文件内容与别人的是不同的。