【0.SpringBoot专栏的相关文章都在这里哟,后续更多的文章内容可以点击查看】
【1.SpringBoot初识之Spring注解发展流程以及常用的Spring和SpringBoot注解】
【2.SpringBoot自动装配之SPI机制&SPI案例实操学习&SPI机制核心源码学习】
【3.详细学习SpringBoot自动装配原理分析之核心流程初解析-1】
【4.详细学习SpringBoot自动装配原理之自定义手写Starter案例实操实战-2】
之前我们学习了SpringBoot自动装配的原理以及通过手写来实现一个Starater案例,接下来我们更深入的学习SpringBoot的源码了,为了能否更好的学习SpringBoot的源码,就需要我们在本地编译源码环境,然后在研究源码的时候可以添加对应的注释是必须的,接下来就给大家来介绍下如何来搭建我们的源码环境。
当你以后想要学习其它源码的时候,需要进行导入编译到本地环境,也是一样的操作哦。
首先大家要注意SpringBoot项目在2.3.0之前是使用Maven构建项目的,在2.3.0之后是使用Gradle构建项目的。我们就以SpringBoot2.2.5为案例,所以本文就介绍SpringBoot2.2.5的编译过程。




注意:如果pom文件提示 disable.checks属性找不到,我们按照下面这个添加即可。
<properties>
<revision>2.2.5.snapshotrevision>
<main.basedir>${basedir}main.basedir>
<disable.checks>truedisable.checks>
properties>
mvn clean install -DskipTests

Run `spring-javaformat:apply` to fix.

mvn spring-javaformat:apply

mvn clean install -DskipTests

出现问题
FAILURE: Build failed with an exception.
* What went wrong:
A problem occurred configuring root project 'spring-boot-gradle-plugin'.
> Could not resolve all artifacts for configuration ':classpath'.
> Could not resolve io.spring.javaformat:spring-javaformat-gradle-plugin:0.0.15.
Required by:
project :
> Could not resolve io.spring.javaformat:spring-javaformat-gradle-plugin:0.0.15.
> Could not get resource 'https://repo.maven.apache.org/maven2/io/spring/javaformat/spring-javaformat-gradle-plugin/0.0.15/spring-javaformat-gradle-plugin-0.0.15.pom'.
> Could not GET 'https://repo.maven.apache.org/maven2/io/spring/javaformat/spring-javaformat-gradle-plugin/0.0.15/spring-javaformat-gradle-plugin-0.0.15.pom'.
> Connect to 172.0.0.1:1080 [/172.0.0.1] failed: Connection timed out: connect
> Could not resolve io.spring.javaformat:spring-javaformat-gradle-plugin:0.0.15.
> Could not get resource 'https://plugins.gradle.org/m2/io/spring/javaformat/spring-javaformat-gradle-plugin/0.0.15/spring-javaformat-gradle-plugin-0.0.15.pom'.
> Could not GET 'https://plugins.gradle.org/m2/io/spring/javaformat/spring-javaformat-gradle-plugin/0.0.15/spring-javaformat-gradle-plugin-0.0.15.pom'.
> Connect to 172.0.0.1:1080 [/172.0.0.1] failed: Connection timed out: connect
* Try:
Run with --info or --debug option to get more log output. Run with --scan to get full insights.
* Exception is:
后面省略了更多的错误日志
....

解决方案
mvn clean install -DskipTests -Pfast

mvn clean -rf :spring-boot-gradle-plugin

spring-boot-project项目下创建 module




注意:SpringBoot的版本还是上面我们操作的版本



之后点击确定后可以继续修改源代码。
好了,到这里【IDEA中集成SpringBoot源码环境详细步骤讲解】就学习到这里,大家一定要动手实操一下,以后越来越需要我们看源码,了解底层原理了,这个就是看源码的第一关,我们一定要拿下它。后续关于SpringBoot的源码持续更新创作中。敬请期待。