一、前言

  既然要分析源码,那就直接下载源码来本地运行分析,是最有效的方案,但是在开始看这篇博客之前,希望小伙伴们有个心理准备...

  源码编译是比较麻烦的一件事,我大概整了一天才基本整好源码环境,期间可能遇到各种奇奇怪怪的问题上网找答案,这里把流程记录一下,需要的小伙伴可以直接跟着步骤走,还是可以顺利编译通过的,亲测可行。

二、源码环境搭建

下载源码

  下载地址:https://github.com/spring-projects/spring-boot/releases

Spring Boot源码(一)Spring Boot源码环境搭建

Spring Boot源码(一)Spring Boot源码环境搭建

Spring Boot源码(一)Spring Boot源码环境搭建

设置maven国内镜像

  由于直接使用Spring Boot默认的maven仓库相当慢且容易编译失败,这里我们新建一个setting.xml文件配置国内的镜像

Spring Boot源码(一)Spring Boot源码环境搭建

setting.xml

<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">

    <pluginGroups></pluginGroups>

    <proxies></proxies>

    <servers></servers>

    <!--阿里云镜像-->
    <mirror>
          
        <id>nexus-aliyun</id>
          
        <name>Nexus aliyun</name>
          
        <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
          
        <mirrorOf>central</mirrorOf>
    </mirror>
    <!--maven官方2号镜像-->
    <mirror>
          
        <id>repo2</id>
          
        <name>Mirror from Maven Repo2</name>
          
        <url>http://repo2.maven.org/maven2/</url>
          
        <mirrorOf>central</mirrorOf>
    </mirror>
    <!--maven的UK镜像-->
    <mirror>
          
        <id>ui</id>
          
        <name>Mirror from UK</name>
          
        <url>http://uk.maven.org/maven2/</url>
          
        <mirrorOf>central</mirrorOf>
    </mirror>
    <!--JBoss 镜像-->
    <mirror>
          
        <id>jboss-public-repository-group</id>
          
        <mirrorOf>central</mirrorOf>
          
        <name>JBoss Public Repository Group</name>
          
        <url>http://repository.jboss.org/nexus/content/groups/public</url>
    </mirror>

</settings>

打开idea并完成编译

1、配置maven

Spring Boot源码(一)Spring Boot源码环境搭建

2、删除可能影响编译的文件目录【不影响分析主流程的源码】

删掉spring-boot-2.2.9.RELEASE/spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin下的java目录

Spring Boot源码(一)Spring Boot源码环境搭建

删掉spring-boot-2.2.9.RELEASE/spring-boot-project/spring-boot-tools/spring-boot-maven-plugin/src/test下的java目录

Spring Boot源码(一)Spring Boot源码环境搭建

3、配置pom.xml文件

Spring Boot源码(一)Spring Boot源码环境搭建

4、使用Spring Java Format插件整理我们的工程

Spring Boot源码(一)Spring Boot源码环境搭建

5、正式开始编译工程

Spring Boot源码(一)Spring Boot源码环境搭建

Spring Boot源码(一)Spring Boot源码环境搭建

三、新建web工程,用于对照分析源码环境

Spring Boot源码(一)Spring Boot源码环境搭建

Spring Boot源码(一)Spring Boot源码环境搭建

  PS:这里相当于是使用源码环境来启动我们的自定义工程,这一步很重要,一定要记得修改我们自定义工程的pom.xml文件!!!

Spring Boot源码(一)Spring Boot源码环境搭建

Spring Boot源码(一)Spring Boot源码环境搭建

Spring Boot源码(一)Spring Boot源码环境搭建

 

相关文章:

  • 2021-11-19
  • 2021-11-12
  • 2021-09-20
  • 2021-10-18
  • 2021-07-21
  • 2022-01-20
  • 2022-01-20
猜你喜欢
  • 2021-08-22
  • 2021-04-16
  • 2022-12-23
  • 2022-02-11
  • 2021-12-10
  • 2021-09-05
相关资源
相似解决方案