spring源码阅读环境搭建,基于IDEA,亲测有效

引言

如果你是一个JAVA CV工程师,我劝诸位还是先学会爬梯子,毕竟阿里云镜像也不是啥都有,外面的世界很精彩哟!
本文采用的编译器是IDEA-2021.3.1版本,其他编译器请忽略

下载spring源码

直接从github上面下载源码,可以download zip也可以git,无论哪一种方式都行,我采用的是直接下载源码,需要特别说明我下载的源码版本发行版是5.3.24

在这里插入图片描述

gradle

必要操作,相当重要

确定你下载的spring源码版本所需要用哪个大象,直接看图吧
在这里插入图片描述
每次build的时候会去下载这个gradle,那不就龟速了吗,还怎么玩儿呢?
为了能在spring的源码中飞驰,请自行按照版本要求到gradle的官网下载,看图
在这里插入图片描述
下载后解压zip包即可,此时我们还需要做一件事情,替换distributionUrl的路径(以后build就直接在本地磁盘中去薅了),如下图所示
在这里插入图片描述

配置GRADLE_HOME

和jdk一样,不要告诉我你不会

配置GRADLE_USER_HOME

在这里插入图片描述
我是这样的,但是你们不一定按照我的来弄
创建一个.gradle的本地文件夹
在这里插入图片描述
文章到此,gradle的基础环境已经就绪了.

预编译

预编译前的镜像配置(有必要)

在spring源码的根目录中的setting.gradle和build.gradle文件中配置阿里云镜像

setting.gradle

repositories {
	    maven { url "https://maven.aliyun.com/repository/public" }
		gradlePluginPortal()
		maven { url 'https://repo.spring.io/plugins-release' }
	}

build.gradle

repositories {
			maven { url 'https://maven.aliyun.com/nexus/content/groups/public/' }
			maven { url 'https://maven.aliyun.com/nexus/content/repositories/jcenter' }
			mavenCentral()
			maven { url "https://repo.spring.io/libs-spring-framework-build" }
			maven { url "https://repo.spring.io/milestone" } // Reactor
			maven { url "https://repo.spring.io/plugins-release" }
		}
	}

执行预编译命令

我们找到源码的根目录,其中有一个文件叫import-into-idea.md的文件,见名知意即:阐述如果将项目导入到idea,文件内容如图,关注下划线的内容
在这里插入图片描述
按照文件提示,我们第一步就应该先build spring-core和spring-oxm,如何操作呢?在源码根目录下cmd,执行指令,这里我执行的指令和文档中描述的不太一样,如下图(spring-oxm的编译,spring-core的方式和oxm一样,替换即可)
在这里插入图片描述
注意: =编译时会出问题,构建的过程中会下载依赖,spring官方需要进行验证====注意:
解决办法就是,不做验证
在这里插入图片描述

导入IDEA之前的说明

如果没有梯子的小伙伴,最好还是先配置一下阿里云镜像,具体的方法自行百度,很简单,就是修改build.gradel和setting,gradle的依赖配置,最好用梯子,本人就是用梯子处理完成,个人觉得比阿里云镜像快一点,只是我个人的觉得,不接受反驳

导入IDEA

再次提醒,网络质量和主机性能决定了你build的速度,特别是网络,网上有40分钟的,16分钟的,一般情况下16分钟左右吧,这个不好说,不过用梯子的方式导入,我只用了2分钟,如下图
在这里插入图片描述
为了持续验证build的时间,删除了gradle的依赖,重新又试了一遍 PS:日期2023.2.14
在这里插入图片描述

第一步

在这里插入图片描述

第二步

在这里插入图片描述

第三步

拿出你奶奶送你的智障法师开过光的佛珠,心中不停的默念阿弥陀佛,接下来就是等等等等…我等到花儿都谢了,知道出现上文中发的构建2分钟的截图的数据

[结尾]在sping的世界翱翔

你可以自定义一个spring-xxx模块,比如
在这里插入图片描述
可能新建的gradle模块没有src,可以尝试在新建的模块的build.gradel文件中增加如下(如果没有出现请忽略)

  task 'create-dirs' {
    doLast {
        sourceSets*.java.srcDirs*.each {
            it.mkdirs()
        }
        sourceSets*.resources.srcDirs*.each {
            it.mkdirs()
        }
    }
}

然后点击如下图
在这里插入图片描述

补充

推荐JDK11,期间可能有编译上的问题

https://www.cnblogs.com/qubo520/p/16044387.html

还可以debug,过程中可以添加一些中文注释等等.
希望本文可以帮助到需要的人,文档中若存在一些错误,接受各位大佬的diss!!!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值