首页 > 其他分享 >Spring Boot 把 Maven 干掉了,正式拥抱 Gradle!

Spring Boot 把 Maven 干掉了,正式拥抱 Gradle!

时间:2024-09-18 23:22:02浏览次数:11  
标签:项目 Spring Boot Gradle Maven 构建

没错,Spring Boot 做了一个重大调整:

在 Spring Boot 2.3.0.M1 中,将首次使用 Gradle 代替 Maven 来构建 Spring Boot 项目。

为什么要迁移?


Spring Boot 团队给出的主要原因是,迁移至 Gradle 可以减少构建项目所花费的时间

因为使用 Maven 构建,回归测试时间太长了,等待项目构建大大增加了修复 bug 和实现新特性的时间。

而 Gradle 的宗旨是减少构建工作量,它可以根据需要构建任何有变化的地方或者并行构建。

当然,Spring Boot 团队也花了很多时间来尝试用 Maven 进行 并行构建,但因为构建 Spring Boot 项目的复杂性,最终失败了。

另外,Spring Boot 团队也看到了在其他 Spring 项目中使用 Gradle 以及并行构建所带来的提升,并且还可以使用 Gradle 在一些第三方项目上的构建缓存,这些优势都促使 Gradle 带到构建 Spring Boot 项目中来。

迁移有什么好处?


栈长使用 Maven,哪怕只改一个代码也是构建全部,构建项目确实要花不少时间。

Spring Boot 官方也给出了数据,一次完整的 Maven 项目构建一般需要一个小时或者以上,而在过去的 4 周时间内,使用 Gradle 构建的平均时间只用了 9 分 22 秒!!!

如下面截图所示:

光从构建时间来看,效率真是倍数级的。

https://github.com/spring-projects/spring-boot/tree/v2.3.0.RELEASE

栈长特意去看了下,在 Spring Boot 2.2.8 中使用的是 Maven:

而最新发布的 Spring Boot 2.3.1 已经是切换到 Gradle 了:

会带来什么影响?


也许会有小伙伴质疑,Spring Boot 迁移到了 Gradle,会不会对公司现有的 Maven 项目或者后续的版本升级造成影响?

如果你只是使用 Spring Boot 框架来搭建系统,那还是可以继续使用 Maven 来管理依赖的,Spring Boot 会继续在 Maven 中央仓库提交。

如下面所示:

org.springframework.boot

spring-boot

2.3.1.RELEASE

因为当版本确定之后,这个 Maven 构建只是一次性的,不会影响 Spring Boot 团队的日常迭代效率。
但是,如果我们需要在本地构建 Spring Boot 源码,或者你正在学习最新 Spring Boot 源码,就需要掌握 Gradle 构建了。
题外话,Gradle 肯定是未来的趋势,但也不一定非得迁移至 Gradle,只有适合自己的才是最好的,毕竟现在 Maven 和 Gradle 都是主流,但是 Maven 更占有市场,很多主流开源项目都是以 Maven 依赖来作为示例演示的。

标签:项目,Spring,Boot,Gradle,Maven,构建
From: https://blog.csdn.net/m0_60388292/article/details/142346315

相关文章

  • 十七,Spring Boot 整合 MyBatis 的详细步骤(两种方式)
    十七,SpringBoot整合MyBatis的详细步骤(两种方式)@目录十七,SpringBoot整合MyBatis的详细步骤(两种方式)1.SpringBoot配置MyBatis的详细步骤2.最后:MyBatis的官方文档:https://mybatis.p2hp.com/关于MyBatis的学习的详细内容,大家可以移步至:✏️✏️✏️MyBatis_Chin......
  • 基于Springboot+vue的音乐网站
    随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟。本文介绍了音乐网站的开发全过程。通过分析音乐网站管理的不足,创建了一个计算机管理音乐网站的方案。文章介绍了音乐网站的系统分析部分,包括可行性分析等,系统设计部分主要介绍了系统功能......
  • 基于spring boot的校园计算机实验室管理系统的设计与实现(源码+LW+调试文档+讲解等)
    博主介绍: ......
  • java-基于springboot实现家教管理系统
    摘要传统办法管理信息首先需要花费的时间比较多,其次数据出错率比较高,而且对错误的数据进行更改也比较困难,最后,检索数据费事费力。因此,在计算机上安装家教管理系统软件来发挥其高效地信息处理的作用,可以规范信息管理流程,让管理工作可以系统化和程序化,同时,家教管理系统的有效运......
  • 最终版本的pom.xml(springboot连接hive)
    1<?xmlversion="1.0"encoding="UTF-8"?>2<projectxmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"3xsi:schemaLocation="http://maven.apa......
  • Spring AOP
    1.什么是AOPAOP(Aspect-OrientedProgramming)中文翻译为面向切面编程,面向方面编程在AOP中,可以理解为就是面向方法编程2.AOP的应用场景我们这里有一个项目,项目中开发了很多的业务功能然而有一些业务功能执行效率比较低,执行耗时较长,我们需要针对于这些业务方法进行优化。那......
  • springboot连接hive数据库的依赖配置
    pom.xml1<?xmlversion="1.0"encoding="UTF-8"?>2<projectxmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"3xsi:schemaLocation="http://......
  • springboot+vue疫情监控系统【开题+程序+论文】
    系统程序文件列表开题报告内容研究背景近年来,全球范围内频繁爆发的疫情不仅严重威胁着人类生命健康,也对社会经济活动造成了巨大冲击。随着信息技术的飞速发展,构建高效、智能的疫情监控系统成为应对疫情挑战、保障公共卫生安全的重要手段。该系统旨在通过集成多源数据、运用......
  • springboot+vue疫情监控平台【开题+程序+论文】
    系统程序文件列表开题报告内容研究背景随着全球疫情的不断演变,高效、精准的疫情监控成为了保障公共卫生安全、快速响应疫情变化、减少社会经济损失的关键。传统的手工记录与信息传递方式已难以满足当前复杂多变的疫情防控需求。因此,构建一个集数据采集、分析、预警、反馈于......
  • springboot+vue疫情环境下校园宿舍管理系统【开题+程序+论文】
    系统程序文件列表开题报告内容研究背景随着全球疫情的持续影响,校园作为人员密集、流动性大的特殊场所,其疫情防控工作显得尤为重要。传统的校园宿舍管理模式在面对疫情挑战时,暴露出信息更新滞后、管理效率低下、健康监测不全面等问题。特别是在学生体温监测、宿舍出入管理、......