当前位置: 首页 > 科技观察

SpringBoot干掉Maven

时间:2023-03-13 01:56:49 科技观察

国外的社交网站上有一篇关于将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中央仓库提交。如下图:org.springframework.bootspring-boot2.3.1.RELEASE因为当版本是确定后,本次Maven构建只是一次性的,不会影响SpringBoot团队的日常迭代效率。但是,如果我们需要在本地构建SpringBoot源码,或者你正在学习最新的SpringBoot源码,那么你需要掌握Gradle构建。顺便说一句,Gradle绝对是未来的趋势,但你不一定非得迁移到Gradle。只有适合自己的才是最好的。毕竟现在Maven和Gradle都是主流,只是Maven占据的市场更多,很多主流的开源项目都是以Maven依赖为例进行演示的。栈长会持续关注SpringBoot动态,后续也会给大家带来各种教程。历史教程可以点击下方链接了解更多,关注Java技术栈。掌握SpringBoot不是什么大问题。学习永不止步。