工欲善其事必先利其器-SpringBoot源码研究之源码编译

Posted 波波烤鸭

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了工欲善其事必先利其器-SpringBoot源码研究之源码编译相关的知识,希望对你有一定的参考价值。

  最近打算详细的研究下SpringBoot源码,感兴趣的可以一起哦。

SpringBoot源码环境准备

  对于想要研究SpringBoot源码的小伙伴来说,在本地编译源码环境,然后在研究源码的时候可以添加对应的注释是必须的,本文就给大家来介绍下如何来搭建我们的源码环境。

1.官方源码下载

  首先大家要注意SpringBoot项目在2.3.0之前是使用Maven构建项目的,在2.3.0之后是使用Gradle构建项目的。后面分析的源码以SpringBoot2.2.5为案例,所以本文就介绍下SpringBoot2.2.5的编译过程。

  官网地址:https://github.com/spring-projects/spring-boot

直接下载对于的压缩文件即可

  下载后直接解压缩即可

2.本地源码编译

  把解压缩的源码直接导入到IDEA中,修改pom文件中的版本号。

pom文件中提示 disable.checks属性找不到,我们添加一个即可。

	<properties>
		<revision>2.2.5.snapshot</revision>
		<main.basedir>$basedir</main.basedir>
		<!-- 添加属性 -->
		<disable.checks>true</disable.checks>
	</properties>

然后执行编译命令

mvn clean install -DskipTests

然后控制台出现如下错误

按照提示,执行下面的 命令 就好了:

在执行编译命令就可以了

mvn clean install -DskipTests

3.源码环境使用

  既然源码已经编译好之后我们就可以在这个项目中来创建我们自己的SpringBoot项目了,我们在 spring-boot-project项目下创建 module,

  然后在我们的module中添加对应的start依赖

然后添加我们的启动类

项目能够正常启动

同时点击run方法进去,我们可以添加注释了:

  在其他项目使用我们编译的源码,这个可能是大家比较感兴趣的一个点了,我们也来介绍下,依赖我们还是可以使用官方的依赖即可,不过最好还是和我们编译的版本保持一致。

  主要是关联上我们编译的源码。

修改代码

好了到此我们就可以开启SpringBoot的源码探索之旅了哦。有不清楚的欢迎留言讨论哦。

以上是关于工欲善其事必先利其器-SpringBoot源码研究之源码编译的主要内容,如果未能解决你的问题,请参考以下文章

HiveSQL源码之语法词法编译文件解析一文详解

工欲善其事必先利其器系列之:Centos7下当前最高版本gcc10.2源码编译安装方法

idea创建springboot项目

SpringBoot系列——IDEA无法使用SpringBoot插件执行main方法

Hadoop源码学习方法

Tomcat源码篇-构建源码编译环境