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

SpringBoot2.3.0支持Gradle,是时候从Maven换成Gradle上了——Gradle安装、配置及镜像源设置 SpringBoot2.3一系列版本发布以来,有了很多的新特性。Spring Boot团队为了减少构建项目的时间开销,改用Gradle构建。我们也应该在学习中接触更多东西,才不会手忙脚乱,或者啥都不懂。所以,一起来安装Gradle,感受更舒适的管理和构建的方式。 阅读详情

在国外某社交网站上有一个关于迁移 Spring Boot 迁移 Maven 至 Gradle 的帖子:

该贴子上也有很多人质疑:Maven 用的好好的,为什么要迁移至 Gradle?

虽然该贴子只是说 Gradle 牛逼,但并没有说迁移至 Gradle 所带来的影响和价值。

所以,Spring Boot 官方对此也发了博文作了解释:

https://spring.io/blog/2020/06/08/migrating-spring-boot-s-build-to-gradle

栈长简单概括一下。

没错,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 中央仓库提交。

如下面所示:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot</artifactId>
    <version>2.3.1.RELEASE</version>
</dependency>

因为当版本确定之后,这个 Maven 构建只是一次性的,不会影响 Spring Boot 团队的日常迭代效率。

但是,如果我们需要在本地构建 Spring Boot 源码,或者你正在学习最新 Spring Boot 源码,就需要掌握 Gradle 构建了。

题外话,Gradle 肯定是未来的趋势,但也不一定非得迁移至 Gradle,只有适合自己的才是最好的,毕竟现在 Maven 和 Gradle 都是主流,但是 Maven 更占有市场,很多主流开源项目都是以 Maven 依赖来作为示例演示的。

解决IntelliJ IDEA中Spring Boot项目JDK 13+的-noverify废弃警告 在Java开发中,JVM字节码验证是确保代码安全性的重要机制,它会在类加载时检查字节码的合法性。然而,严格的验证有时会影响应用启动速度,尤其是在大量使用反射和动态代理的Spring Boot等框架中。为了平衡安全与性能,历史上开发者常使用-noverify或-Xverify:none参数来关闭验证以提升启动速度。但随着Java平台安全模型的强化和模块化系统的演进,这种绕过安全机制的做法从JDK 13开始被标记为废弃。本文聚焦于一个常见的工程实践问题:在IntelliJ IDEA中运行Spring Boot项 阅读详情

相关推荐

RT-Thread代码启动过程——以及 $Sub$ $main 与 $Super$ $main

我们找到系统复位的地方,可以往下单步跟踪。 ①从系统初始化开始执行,将函数地址赋给R0寄存器,跳转到R0地址执行并返回此处(BLX是带链接的跳转,即带返回的跳转)。 ②将main函数地址给R0,将函数地址赋给R0,跳转到R0地址执行,不返回(BX是跳转,不返回)。 ③跳转到了$Sub$$main。 【注:在 __CC_ARM 编译器环境下,使用了$Sub$$ 与$Super$ $ 的...

yang1111111112的博客 1万+

【springboot开发】Gradle VS Maven

AntMavenGradlegradle使用了Groovy作为配置文件,相较于maven的pom文件更加灵活Gradle和Maven都支持并行的项目构建和依赖解析。但是gradle的三个特点让gradle可以跑的比maven快上一点:增量构建构建缓存Gradle守护进程Gradle非常灵活,并且基于脚本。自定义构建将很容易在Gradle上完成。Gradle功能更强大。但是,有时候一个中小型的项目不需要它提供的大多数功能,则Maven可能就是最佳选择。

idiotyi的博客 2214

python爬虫入门教程(非常详细)

爬虫指的是一种自动化程序,能够模拟人类在互联网上的浏览行为,自动从互联网上抓取、预处理并保存所需要的信息。爬虫运行的过程一般是先制定规则(如指定要抓取的网址、要抓取的信息的类型等),紧接着获取该网址的HTML源代码,根据规则对源代码进行解析和抽取,最后进行处理和保存。爬虫在实际应用中广泛使用,如搜索引擎、大数据分析、交易数据采集等领域,都需要用到爬虫技术来实现信息的定向采集和处理。

工宗浩生财指南针 2万+

干货|SpringBoot-Maven与Gradle多模块搭建

比较熟悉的模式是Springboot+Maven多模块的组织方式,由于近期Gradle势力很猛,据Gradle官网给出的5种压测场景的数据来看,Gradle的处理性能确实比Maven快,所以就来体验一下Gradle怎么做多模块搭建和各种依赖的引入和查看。对Gradle官网提供的Maven与Gradle的对比感兴趣的

c_zyer的博客 3275

OpenClaw(小龙虾) 安装部署教程

OpenClaw(原名Clawdbot)是一个开源的、可本地部署的个人AI助理,它能接入飞书、钉钉等即时通讯工具,帮你处理邮件、管理文件,甚至控制电脑。

qq_40668700的博客 1386

深度学习部署工程师--8(docker+TensorRT部署到推理+yolo人体检测)下

本文介绍了YOLOv5模型通过TensorRT加速部署的流程。首先需要检查磁盘空间,确保有30GB可用。文章对比了不同推理方式的性能:int8量化+TensorRT可达200FPS,纯TensorRT为166FPS,CUDA为147FPS,CPU为93FPS。重点讲解了将YOLOv5模型导出为ONNX格式的详细步骤,包括修改Detect类的forward方法以移除decode运算,使用git patch批量修改代码,安装必要的依赖库,以及通过onnx-graphsurgeon工具修改ONNX图结构。最终目标

FJN110的博客 496

Gradle 学习总结(3)—— 如何将 Spring Boot 构建工具从 Maven 迁移到 Gradle

前言 我们在 2.3.0.M1 中对 Spring Boot 进行了相当大的改变。 这是使用 Gradle 而不是 Maven 构建的项目的第一个版本。 关于迁移的 Twitter 上的帖子 有很多人问我们为什么切换以及我们看到的好处(如果有的话)。 这篇博文旨在回答这些问题。 Spring 产品套件中的每个项目都以相当自主的方式运行。 我们力求在用户最容易看到的地方保持一致性--例如 API 设计,但选择最能满足项目需求的工具就不太明显。 一个例子是构建系统。 对构建系统的改变会影响那些为项目做出贡献

科技D人生 1025

停车位检测:基于YOLOv5与UI界面的实现

YOLOv5是YOLO(You Only Look Once)系列中的最新版本,它能够在单次前向传播中同时完成多个目标的定位与分类,因此被广泛应用于实时目标检测任务。与之前的版本相比,YOLOv5在精度和速度上得到了很大的优化,适合嵌入到实际的自动驾驶和智能交通系统中。YOLOv5使用了卷积神经网络(CNN)进行特征提取,并通过回归方法预测边界框、类别及置信度。高效的推理速度:YOLOv5采用了优化的模型结构,能够在保证精度的同时提供较快的推理速度。较高的精度。

YOLO 696

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

在国外某社交网站上有一个关于迁移 Spring Boot 迁移 Maven 至 Gradle 的帖子: 该贴子上也有很多人质疑:Maven 用的好好的,为什么要迁移至 Gradle? 虽然该贴子只是说 Gradle 牛逼,但并没有说迁移至 Gradle 所带来的影响和价值。 所以,Spring Boot 官方对此也发了博文作了解释: https://spring.io/blog/2020/06/08/migrating-spring-boot-s-build-to-gradle 栈长简单概括一下。 没

Java技术栈,分享最主流的Java技术 6888

把 SNC 支持的通信链路一次讲透,SAP GUI、RFC、CPIC、SAProuter 到底谁在保护谁

摘要: SNC(Secure Network Communications)是SAP系统中用于保护特定通信链路的安全机制,主要应用于DIAG、RFC、CPIC等SAP协议,而非HTTP等互联网协议(后者由SSL/TLS处理)。其核心在于保护通信端点之间的逻辑链路,需在发起方和接收方同时配置SNC参数,包括SNC名称、保护等级(QoP)等。实际项目中,SNC的配置涉及多个层面,如SAP GUI到ABAP平台的登录链路、外部程序通过RFC/CPIC连接ABAP的认证、ABAP系统间的跨系统通信等。配置不当可能导

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 254

ArcGIS笔记2_如何将经纬度WGS84地理坐标系转换为米单位CGCS2000投影坐标系

本博文则主要讲解,如果我们手里拿到的shp文件是在ArcGIS中,如何将经纬度WGS84地理坐标系转换为米单位CGCS2000投影坐标系。

晏长街的博客 4万+

Spring Boot 把 Maven 干掉了,正式拥抱 Gradle!,聊聊Java开发的现状和思考

说句实话,如果一个打工人不想提升自己,那便没有工作的意义,毕竟大家也没有到养老的年龄。当你的技术在一步步贴近阿里p7水平的时候,毫无疑问你的薪资肯定会涨,同时你能学到更多更深的技术,交结到更厉害的大牛。推荐一份Java架构之路必备的学习笔记,内容相当全面!!!成年人的世界没有容易二字,前段时间刷抖音看到一个程序员连着加班两星期到半夜2点的视频。在这个行业若想要拿高薪除了提高硬实力别无他法。你知道吗?现在有的应届生实习薪资都已经赶超开发5年的程序员了,实习薪资26K,30K,你没有紧迫感吗?

m0_60567881的博客 958

【微服务】SpringBoot 对接飞书审批流程使用详解

SpringBoot 对接飞书审批流程使用详解

congge_study的博客 3771

Spring Boot 真的把 Maven 干掉了?正式拥抱 Gradle?

在国外某社交网站上有一个关于迁移 Spring Boot 迁移 Maven 至 Gradle 的帖子: 该贴子上也有很多人质疑:Maven 用的好好的,为什么要迁移至 Gradle? 虽然该贴子只是说 Gradle 牛逼,但并没有说迁移至 Gradle 所带来的影响和价值。 所以,Spring Boot 官方对此也发了博文作了解释: https://spring.io/blog/2020/06/08/migrating-spring-boot-s-build-to-gradle 简单概括一

Java圈全能架构师的博客 721

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

干掉Maven ,Spring Boot正式拥抱 Gradle

前不久,Spring Boot发布了 2.3.0 版本,此版本对 Spring Boot 进行了相当重大的更改,并且这是使用 Gradle 而非 Maven 构建项目的第一个版本。关于 2.3.0 版本的新特性,本篇不做任何介绍。本文需要讲的是为什么要切换为Gradle而非Maven。 为什么要切换 Spring Boot 团队考虑由 Maven 切换到 Gradle 的主要原因为了减少构建项目所需的时间。在开发和测试过程中,等待构建完成所花费的时间增加了修复错误和实现新功能所花费的时间。 为了解决这个问题

xiangzhihong8的专栏 903

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

gradle 本地maven仓库_Spring Boot 把 Maven 干掉了,正式拥抱 Gradle

作者 | 栈长来源 | Java技术栈在国外某社交网站上有一个关于迁移 Spring Boot 迁移 Maven 至 Gradle 的帖子:该帖子上也有很多人质疑:Maven 用的好好的,为什么要迁移至 Gradle?虽然该贴子只是说 Gradle 牛逼,但并没有说迁移至 Gradle 所带来的影响和价值。所以,Spring Boot 官方对此也发了博文作了解释:https://spring.io...

weixin_33911375的博客 157

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

使用maven的好处_Spring Boot 把 Maven 干掉了,正式拥抱 Gradle

作者 | 栈长来源 | Java技术栈在国外某社交网站上有一个关于迁移 Spring Boot 迁移 Maven 至 Gradle 的帖子:该帖子上也有很多人质疑:Maven 用的好好的,为什么要迁移至 Gradle?虽然该贴子只是说 Gradle 牛逼,但并没有说迁移至 Gradle 所带来的影响和价值。所以,Spring Boot 官方对此也发了博文作了解释:https://spring.io...

weixin_39827798的博客 103

Invalid Gradle JDK configuration found_Spring Boot 把 Maven 干掉了,正式拥抱 Gradle

作者 | 栈长来源 | Java技术栈在国外某社交网站上有一个关于迁移 Spring Boot 迁移 Maven 至 Gradle 的帖子:该帖子上也有很多人质疑:Maven 用的好好的,为什么要迁移至 Gradle?虽然该贴子只是说 Gradle 牛逼,但并没有说迁移至 Gradle 所带来的影响和价值。所以,Spring Boot 官方对此也发了博文作了解释:https://spring.io...

weixin_39561673的博客 184

IntelliJ IDEA 2026.1 EAP 发布!拥抱 Java 26,Spring Boot 4 深度支持!

下面是。

JavaGuide 1898
上一篇: 总结了大量的 Java 代码精简之道,非常棒!
下一篇: Java 14 祭出代码简化神器,Lombok 要被干掉了?
Java奥利给
博客等级 码龄6年 150粉丝 154原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值