码迷,mamicode.com
首页 > 编程语言 > 详细

【SpringBoot】SpringBoot源码编译

时间:2021-05-24 13:23:31      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:base   adl   ase   html   community   central   frame   配置   ide   

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

  SpringBoot项目在2.3.0之前是使用Maven构建项目的,在2.3.0之后是使用Gradle构建项目了

  本章将介绍2种方式的源码编译构建

SpringBoot-2.2.5源码编译  

  SpringBoot-2.2.5 是 Maven构建项目    

环境准备

  • Maven:3.6.3
  • Jdk:1.8.0_181
  • idea:2021.1.1 Community Edition(社区版)

1、下载Spring源码

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

  下载版本 :2.2.5

  技术图片

  源码中有文件 README.adoc ,可以进行参考如何编译

2、使用Maven编译SpringBoot源码

  1、解压SpringBoot源码项目

  2、进入SpringBoot源码目录,打开pom文件,可以修改版本号,避免与官网的版本冲突

<properties>
    <revision>2.2.5.RELEASE-MY</revision>
    <main.basedir>${basedir}</main.basedir>
</properties>

  3、使用maven命令进行编译

  命令:mvn clean install -DskipTests

  技术图片

  技术图片

  编译成功

可能出现的问题

   1、问题:Failure to transfer org.springframework.boot:spring-boot-starter-parent:pom:2.2.5.RELEASE from https://maven.aliyun.com/repository/central

  意思是无法在阿里云的镜像仓库中找到资源

  解决:将配置的镜像删除即可,让它从Maven中央仓库中获取资源

  技术图片

  2、问题:[ERROR] Failed to execute goal org.apache.maven.plugins:maven-checkstyle-plugin:3.1.0:check (nohttp-checkstyle-validation) on project spring-boot-build: You have 1 Checkstyle violation. -> [Help 1]

  代码检测插件问题,

  解决:在根目录下的pom文件中,缺少一个属性,添加一个disable.checks属性,如下:

<properties>
    <revision>2.2.5.RELEASE-MY</revision>
    <main.basedir>${basedir}</main.basedir>
    <!-- 添加属性 -->
    <disable.checks>true</disable.checks>
</properties>    

3、将SpringBoot项目导入Idea中,验证

  运行测试文件 org.springframework.boot.BannerTests#testDefaultBanner()

  技术图片

  运行成功,编译完成

SpringBoot-2.4.0源码编译  

一、环境准备

  • Gradle:6.7(类似Maven构建工具)
  • Jdk:1.8.0_181
  • idea:2021.1.1 Community Edition(社区版)

【SpringBoot】SpringBoot源码编译

标签:base   adl   ase   html   community   central   frame   配置   ide   

原文地址:https://www.cnblogs.com/h--d/p/14775266.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!