如何搭建自己的SpringBoot源码调试环境? SpringBoot源码(一)「建议收藏」

如何搭建自己的SpringBoot源码调试环境? SpringBoot源码(一)「建议收藏」1前言这是SpringBoot2.1源码分析专题的第一篇文章,主要讲如何来搭建我们的源码阅读调试环境。如果有经验的小伙伴们可以略过此篇文章。2环境安装要求IntelliJIDEAJDK1.8Maven3.5以上3从github上将SpringBoot源码项目下载下来首先提供SpringBoot2.1.0的github地址:点这里下载因为要进行阅读源码和分析源码项目,我们是不是要在里面写一些注释帮助我们阅读理解源码,因此需要将SpringBoot源码项目fork到自己的github

大家好,又见面了,我是你们的朋友全栈君。

1 前言

这是SpringBoot2.1源码分析专题的第一篇文章,主要讲如何来搭建我们的源码阅读调试环境。如果有经验的小伙伴们可以略过此篇文章。

2 环境安装要求

  • IntelliJ IDEA
  • JDK1.8
  • Maven3.5以上

3 从github上将SpringBoot源码项目下载下来

首先提供SpringBoot2.1.0的github地址:点这里下载

因为要进行阅读源码和分析源码项目,我们是不是要在里面写一些注释帮助我们阅读理解源码,因此需要将SpringBoot源码项目fork到自己的github仓库中,然后再利用git clone url命令将已经fork到自己github仓库的SpringBoot源码拉取下来即可。 但由于以上方式往往很慢,通常会超时,所以笔者直接将SpringBoot项目直接下载下来,然后再导入IDEA中。
在这里插入图片描述

4 将SpringBoot源码项目导入到IDEA中

将刚才下载的spring-boot2.1.0.RELEASE项目选择maven方式导入到IDEA中,然后一直next即可导入完成,注意选择JDK版本是1.8,maven版本是3.5+。
在这里插入图片描述
此时下载maven依赖是一个漫长的等待过程,建议maven没有配置(阿-里-云)仓库的小伙伴们配置一下,这样下载速度会快很多。参考配置maven使用(阿-里-云)仓库进行配置即可。

5 编译构建SpringBoot源码项目

此时导入项目后,我们进行编译构建SpringBoot源码项目了,在构建之前做两个配置:

  1. 我们要禁用maven的代码检查,在根pom.xml中增加一下配置即可,如下图:
    在这里插入图片描述
  2. 可能有的小伙伴们的pom.xml文件的project标签上显示java.lang.OutOfMemoryError错误,这是因为IDEA里的Maven的importer设置的JVM最大堆内存过小而导致的,如下图,此时可参考Maven依赖包导入错误(IntelliJ IDEA)解决即可。
    在这里插入图片描述
    进行了上面的两点配置后,此时我们就可以直接执行以下maven命令来编译构建源码项目了。
mvn clean install -DskipTests -Pfast

在这里插入图片描述
此时又是漫长的等待,我这里等待5分钟左右就显示构建成功了,如下图:
在这里插入图片描述

6 运行SpringBoot自带的sample

因为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函数,启动成功界面如下:
在这里插入图片描述
然后我们再在浏览器发送一个HTTP请求,此时可以看到服务端成功返回响应,说明此时SpringBoot源码环境就已经构建成功了,接下来我们就可以进行调试了,如下图:
在这里插入图片描述

7 动手实践环节

前面已经成功构建了SpringBoot的源码阅读环境,小伙伴们记得自己动手搭建一套属于自己的SpringBoot源码调试环境哦,阅读源码动手调试很重要,嘿嘿。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/140662.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • windows查看占用端口并关闭端口

    windows查看占用端口并关闭端口1.查看占用端口的进程IDnetstat-aon|findstr"12345"2.查看进程id对应的进程名tasklist|findstr"14100"3.杀掉进程taskkill/f/t/im___8TestServer_Start_in_G

    2022年7月20日
    12
  • lnmp一键安装的卸载

    lnmp一键安装的卸载

    2021年10月8日
    36
  • 【NVIDIA】Win10 + CUDA10 + cuDNN 安装教程

    【NVIDIA】Win10 + CUDA10 + cuDNN 安装教程目录一、前言二、官方安装教程及软件包1、官方教程2、CUDAToolkit10.0Download3、cuDNNDownload三、Win10安装CUDA10及cuDNN1、CUDA安装2、cuDNN配置3、万事大吉,只欠重启四、一些后事问题1:安装过程中电脑自动重启。问题2:安装完成后找不到CUDA文件夹。一、前言其实听早就接触NV…

    2022年6月10日
    43
  • 使用腾讯云直播开发直播功能违法吗_腾讯云直播插件

    使用腾讯云直播开发直播功能违法吗_腾讯云直播插件前言:最近公司开发app直播功能,我是后端,使用java开发,经过考虑选择使用腾讯的云直播功能,主要是考虑到腾讯在这方面可以说是很有实力的了。然后就是选择产品的问题,腾讯提供了几种直播的解决方案,最完整的是互动直播,这是一套比较完善的直播解决方案,但是费用比较贵,所以。。。我们选择了云直播和云通信(IM)组合,主要是因为本来app中就集成云通信,也就是云直播用来做视频交互,云通信用来做弹幕和直…

    2022年9月15日
    1
  • js indexOf()用法

    js indexOf()用法<1>indexOf()方法可返回某个指定的字符串值在字符串中首次出现的位置。语法stringObject.indexOf(searchvalue,fromindex)参数 描述 searchvalue 必需。规定需检索的字符串值。 fromindex 可选的整数参数。规定在字符串中开始检索的位置。它的合法取值是0到stringObj…

    2022年7月12日
    17
  • 已知等边三角形两点坐标,计算第三点坐标

    已知等边三角形两点坐标,计算第三点坐标

    2022年2月7日
    140

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号