Spring Boot源码编译

Spring Boot源码编译

fork spring boot[可选]

我fork一个Spring boot到自己的github上,主要是为了把阅读源码时添加的一些注释push上去,所以这一步是可选的。

clone spring boot

1、把Spring boot源码克隆下来

git clone https://github.com/DHBin/spring-boot.git

官方地址是https://github.com/spring-projects/spring-boot

2、同步2.1.x分支

git checkout -b 2.1.x origin/2.1.x

为了不污染原来的版本,创建新的分支

git checkout -b 2.1.x_learn

上传GitHub

git push origin HEAD -u

期间可能需要登录GitHub账号,出现一下信息证明分支创建成功

Total 0 (delta 0), reused 0 (delta 0)
remote:
remote: Create a pull request for '2.1.x_learn' on GitHub by visiting:
remote:      https://github.com/DHBin/spring-boot/pull/new/2.1.x_learn
remote:
To https://github.com/DHBin/spring-boot.git
 * [new branch]            HEAD -> 2.1.x_learn
Branch '2.1.x_learn' set up to track remote branch '2.1.x_learn' from 'origin'.

编译

前期准备

  • 下载maven并配置好环境,切换国内源

执行命令

mvn -Dmaven.test.skip=true -Dmaven.compile.fork=true -Dmaven.test.failure.ignore=true clean install
  • -Dmaven.test.skip=true 跳过测试
  • -Dmaven.compile.fork 多线程
  • -Dmaven.test.failure.ignore 忽略测试错误

如果没有意外编译就成功了

遇到问题

  1. 编译spring-boot-gradle-plugin时执行一些测试用例,导致报错。

解决方法:

rm -rf spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/src/test/java

再编译,编译成功后执行

git checkout spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/src/test/java

恢复

参考资料

IDEA 编译运行 Spring Boot 2.0 源码

[maven-编译速度优化

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Spring面试题

    原文在 https://www.zhihu.com/question/39814046

    DH镔
  • utuntu 18.04.1安装maven记录

    以下内容全部是修改apache-maven-3.6.0/conf/settings.xml文件

    DH镔
  • JAVA 8 反射获取参数名

    在JDK8之前javac编译是不会把构造器和方法的参数名编译进class中,如果需要获取参数名,可以在方法上加上注解,反射获取注解的值从而获取参数名,比如Jac...

    DH镔
  • HCNP学习笔记之PXE原理详解及实践

    PXE(preboot execute environment,预启动执行环境)是由Intel公司开发的最新技术,工作于Client/Server的网络模式,支...

    Jetpropelledsnake21
  • SpringBoot 源码解析——源码各模块代码统计

    柿子要挑软的捏,自然代码要先看少的 module。 统计了一下 (spring-boot-project) 各个模块源码行数:

    zhisheng
  • spring boot 默认静态文件位置及动态文件位置

    spring boot项目只有src目录,没有webapp目录,会将静态访问(html/图片等)映射到其自动配置的静态目录,如下

    凯哥Java
  • Spring Boot 1.5.10 发布:修复重要安全漏洞!!!

    2018/01/31,Spring Boot团队发布了Spring Boot 1.5.10。 Maven: <parent> <groupId>org....

    Java技术栈
  • LTE参数-PA/PB总结

    LTE系统中可以配置RS功率、PDSCH功率,以达到优化性能、降低干扰的目的:

    用户6184845
  • 跨平台架构模式

    跨平台不是一个新的话题,它已经被讨论了几十年了。在最近的一些尝试,让我对跨平台有了一些新的想法。在想法真正落地之前,我梳理了一下不同跨平台方案的一些特征,便有了...

    Phodal
  • SpringBoot2.x基础篇:编写应用程序时常用的ApplicationEvents

    在SpringFramework编写过程中使用了大量的Event/Listener来做一些解耦的任务工作,当然在SpringBoot内同样也沿用了这一点,如果你...

    恒宇少年

扫码关注云+社区

领取腾讯云代金券