Spring Boot 杀死了 Maven,正式拥抱 Gradle
温馨提示:这篇文章已超过377天没有更新,请注意相关的内容是否还可用!
很多人也在这个帖子上质疑:Maven用得好好的,为什么要迁移到Gradle呢?虽然帖子只说Gradle很棒,但没有说迁移到Gradle的影响和价值。在Spring Boot 2.3.0.M1中,将首次使用Gradle代替Maven来构建Spring Boot项目。Spring Boot团队给出的主要原因是迁移到Gradle可以减少构建项目所需的时间。Spring Boot 官方还给出了数据,一个完整的 Maven 项目构建一般需要一个小时甚至更长时间,但在过去 4 周内,使用 Gradle 构建的平均时间仅为 9 分 22 秒!有朋友可能会疑问Spring Boot迁移到Gradle是否会影响公司现有的Maven项目或者后续的版本升级?如果只是使用Spring Boot框架来构建系统,仍然可以使用Maven来管理依赖,并且Spring Boot会继续在Maven中央仓库中提交。
作者 | 堆栈管理器
来源 | Java技术栈
国外社交网站上有一篇关于Spring Boot从Maven迁移到Gradle的帖子:
很多人也在这个帖子上质疑:Maven用得好好的,为什么要迁移到Gradle呢?
虽然帖子只说Gradle很棒,但没有说迁移到Gradle的影响和价值。
因此Spring Boot官方发博文对此进行了解释:
堆栈长度简单总结一下。
没错,Spring Boot 做了一个重大调整:
在Spring Boot 2.3.0.M1中,将首次使用Gradle代替Maven来构建Spring Boot项目。
为什么要迁移?
Spring Boot团队给出的主要原因是迁移到Gradle可以减少构建项目所需的时间。
由于使用Maven构建,回归测试花费的时间太长,等待项目构建大大增加了修复错误和实现新功能的时间。
Gradle的目的是减少构建工作量,它可以根据需要构建任何变更或并行构建。
当然,Spring Boot团队也花了很多时间尝试使用Maven进行并行构建,但最终因为构建Spring Boot项目的复杂性而失败。
另外,Spring Boot团队也看到了在其他Spring项目中使用Gradle和并行构建所带来的提升,并且在一些第三方项目上也可以使用Gradle的构建缓存。 这些优点促使 Gradle 构建 Spring Boot 项目。 来。
移民有什么好处?
栈长使用Maven,哪怕只改一处代码,整个就构建完成了,构建项目确实要花很多时间。
Spring Boot 官方还给出了数据,一个完整的 Maven 项目构建一般需要一个小时甚至更长时间,但在过去 4 周内,使用 Gradle 构建的平均时间仅为 9 分 22 秒! ! !
如下截图所示:
单从施工时间来看,效率真是成倍增加。
我专门看了一下,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 依赖为例进行演示的。
学习永远不会停止。