这是SpringBoot2.1源码分析专题的第一篇文章,主要讲如何来搭建咱们的源码阅读调试环境。若是有经验的小伙伴们能够略过此篇文章。java
首先提供SpringBoot2.1.0的github地址:
https://github.com/spring-projects/spring-boot/tree/v2.1.0.RELEASEgit
由于要进行阅读源码和分析源码项目,咱们是否是要在里面写一些注释帮助咱们阅读理解源码,所以须要将SpringBoot源码项目fork到本身的github仓库中,而后再利用git clone url命令将已经fork到本身github仓库的SpringBoot源码拉取下来便可。
但因为以上方式每每很慢,一般会超时,因此笔者直接将SpringBoot项目直接下载下来,而后再导入IDEA中。github
将刚才下载的spring-boot2.1.0.RELEASE项目选择maven方式导入到IDEA中,而后一直next便可导入完成,注意选择JDK版本是1.8,maven版本是3.5+。spring
此时下载maven依赖是一个漫长的等待过程,建议maven没有配置阿里云仓库的小伙伴们配置一下,这样下载速度会快不少。参考配置maven使用阿里云仓库进行配置便可。浏览器
此时导入项目后,咱们进行编译构建SpringBoot源码项目了,在构建以前作两个配置:tomcat
java.lang.OutOfMemoryError
错误,这是由于IDEA里的Maven的importer设置的JVM最大堆内存太小而致使的,以下图,此时可参考Maven依赖包导入错误(IntelliJ IDEA)解决便可。
进行了上面的两点配置后,此时咱们就能够直接执行如下maven命令来编译构建源码项目了。springboot
mvn clean install -DskipTests -Pfast
此时又是漫长的等待,我这里等待5分钟左右就显示构建成功了,以下图:maven
由于SpringBoot源码中的spring-boot-samples模块自带了不少DEMO样例,咱们能够利用其中的一个sample来测试运行刚刚构建的springboot源码项目便可。但此时发现spring-boot-samples模块是灰色的,以下图:
这是由于spring-boot-samples模块没有被添加到根pom.xml中,此时将其添加到根pom.xml中便可,增长以下配置,以下图:
此时咱们挑选spring-boot-samples模块下的spring-boot-sample-tomcat样例项目来测试好了,此时启动SampleTomcatApplication
的main
函数,启动成功界面以下:ide
而后咱们再在浏览器发送一个HTTP请求,此时能够看到服务端成功返回响应,说明此时SpringBoot源码环境就已经构建成功了,接下来咱们就能够进行调试了,以下图:函数
前面已经成功构建了SpringBoot的源码阅读环境,小伙伴们记得本身动手搭建一套属于本身的SpringBoot源码调试环境哦,阅读源码动手调试很重要,嘿嘿。
下节预告:
<font color=Blue>咱们该如何去分析SpringBoot源码涉及模块及结构?--SpringBoot源码(二)</font>
原创不易,帮忙点个赞呗!
欢迎关注【源码笔记】公众号,一块儿学习交流。