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

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

转载链接 https://blog.csdn.net/SmartWord/article/details/128973418

引言

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

下载spring源码

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

在这里插入图片描述

必要操作,相当重要

确定你下载的spring源码版本所需要用哪个大象,直接看图吧

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

配置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()
        }
    }
}

然后点击如下图

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值