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

摘要:
//马文。阿帕奇。org/xsd/settings-1.0.0。xsd“&gt:<<Nexus aliyun<http://maven.aliyun.com/Nexus/content/groups/public/<--maven的英国形象-->//UK.maven.org/maven 2/<

一、前言

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

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

二、源码环境搭建

下载源码

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

Spring Boot源码(一)Spring Boot源码环境搭建第1张

Spring Boot源码(一)Spring Boot源码环境搭建第2张

Spring Boot源码(一)Spring Boot源码环境搭建第3张

设置maven国内镜像

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

Spring Boot源码(一)Spring Boot源码环境搭建第4张

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源码环境搭建第5张

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

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

Spring Boot源码(一)Spring Boot源码环境搭建第6张

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

Spring Boot源码(一)Spring Boot源码环境搭建第7张

3、配置pom.xml文件

Spring Boot源码(一)Spring Boot源码环境搭建第8张

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

Spring Boot源码(一)Spring Boot源码环境搭建第9张

5、正式开始编译工程

Spring Boot源码(一)Spring Boot源码环境搭建第10张

Spring Boot源码(一)Spring Boot源码环境搭建第11张

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

Spring Boot源码(一)Spring Boot源码环境搭建第12张

Spring Boot源码(一)Spring Boot源码环境搭建第13张

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

Spring Boot源码(一)Spring Boot源码环境搭建第14张

Spring Boot源码(一)Spring Boot源码环境搭建第15张

Spring Boot源码(一)Spring Boot源码环境搭建第16张

免责声明:文章转载自《Spring Boot源码(一)Spring Boot源码环境搭建》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇vim 让人爱不释手的编辑器之神Java 后端微信支付demo下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

如何实现Vue底部按钮点击加载更多

1. 一次请求 1.1 页面 使用slice来进行限制展现从0,a的数据: <div v-for="user in draw_user.slice(0,a)" :key="user.uid" class="user-item"> //判断a的值是否小于数组的长度,小于就显示点击加载更多 <div v-if="a<draw_use...

addEventListener() 方法

首先需要了解addEventListener()的工作原理是将实现EventListener的函数或对象添加到调用它的EventTarget上的指定事件类型的事件侦听器列表中。 语法 element.addEventListener(event, function, useCapture) 参数值 参数 描述 event 必须。字符串,指定事件名...

php 命名空间(要求php5.3以上)

要求php5.3以上 <?phpnamespace test;// 命名空间与目录类似功能,也可定义子命名空间,用分层的方式定义:/*namespace mydirokproject; 在声明命名空间之前唯一合法的代码是用于定义源文件编码方式的 declare 语句。另外,所有非 PHP 代码包括空白符都不能出现在命名空间的声明之前: */const...

Web service 超过了最大请求长度

Web service的默认的请求长度是4M 当内容超过了4M会报错 System.Web.Services.Protocols.SoapException: 运行配置文件中指定的扩展时出现异常。 ---> System.Web.HttpException: 超过了最大请求长度。 在 System.Web.HttpRequest.GetEnti...

Oracle EBS R12 XML数据表格的Excel脚本报表

一.概述 在EBS系统中,报表是一个非常重要的客户化开发内容,也是系统一种比较常见的数据输出形式。报表的做法有很多种,输出格式也有多种,较为常见的就是“数据文件+报表模板”的形式,例如用脚本程序输出XML数据源,RTF模板控制数据格式的方式。也有直接用PLSQL程序输出HTML格式的报表,数据和格式统一在程序中控制。 Excel是一种非常常用的办公软件,操...

03_mybatis配置文件详解

1. SqlMapConfig.xml mybatis全局配置文件SqlMapConfig.xml,配置内容如下: *properties(属性) setting(全局配置参数) typeAliases(类型别名) typeHandlers(类型处理器) plugins(插件) enviroments(环境集合对象) ​ enviroment(环境子属性对...