国外的社交网站上有一篇关于将SpringBoot和Maven迁移到Gradle的帖子:这个帖子也有很多人质疑:Maven用的很好,为什么要迁移到Gradle?帖子只是说Gradle很棒,并没有说迁移到Gradle的影响和价值。因此,SpringBoot官方发了一篇博文对此进行解释:https://spring.io/blog/2020/06/08/migrating-spring-boot-s-build-to-gradle栈长简单总结了一下。没错,SpringBoot进行了重大调整:在SpringBoot2.3.0.M1中,将首次使用Gradle代替Maven来构建SpringBoot项目。为什么要迁移?SpringBoot团队给出的主要原因是迁移到Gradle可以减少构建项目的时间。由于使用Maven构建,回归测试耗时过长,等待项目构建大大增加了修复错误和实现新功能的时间。Gradle的目的是减少构建工作量,它可以根据需要构建任何更改或并行构建。当然,SpringBoot团队也花了很多时间尝试使用Maven进行并行构建,但最终因为构建SpringBoot项目的复杂性而失败了。另外,SpringBoot团队在其他Spring项目中也看到了使用Gradle和并行构建带来的提升,也可以在一些第三方项目上使用Gradle的构建缓存。这些优点促使Gradle构建SpringBoot项目。来。移民有什么好处?stackleader用的是Maven,哪怕只改一个代码,整个东西都建好了。构建项目确实需要很多时间。SpringBoot官方也给出了数据,一个完整的Maven项目构建一般需要一个小时或更长时间,而在过去4周内,使用Gradle构建的平均时间仅为9分22秒!!!如下图所示:从构建时间来看,效率真的是数倍。https://github.com/spring-projects/spring-boot/tree/v2.3.0.RELEASE栈长特意看了下。在SpringBoot2.2.8中使用了Maven:而最新的SpringBoot2.3.1已经在切换到Gradle:会带来什么影响?有朋友可能会质疑SpringBoot迁移到Gradle会不会影响公司现有的Maven项目或者后续的版本升级?如果只是使用SpringBoot框架搭建系统的话,仍然可以使用Maven来管理依赖,SpringBoot会继续在Maven中央仓库提交。如下图:
