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

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

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

作者 | 栈长

来源 | Java技术栈

在国外某社交网站上有一个关于迁移 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

栈长简单概括一下。

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

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




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





为什么要迁移?


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

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

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

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

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




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





迁移有什么好处?


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

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

如下面截图所示:

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

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

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

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

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

而最新发布的 

Spring Boot 2.3.1

 已经是切换到 Gradle 了:

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




Spring Boot 把 Maven 干掉了,正式拥抱 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 依赖来作为示例演示的。

学习、从不止步。

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

更多精彩推荐

更多精彩推荐

原文 

http://mp.weixin.qq.com/s?__biz=MjM5MjAwODM4MA==&mid=2650761284&idx=3&sn=22763cc5cdf94089fa06ba7218195c94

本站部分文章源于互联网,本着传播知识、有益学习和研究的目的进行的转载,为网友免费提供。如有著作权人或出版方提出异议,本站将立即删除。如果您对文章转载有任何疑问请告之我们,以便我们及时纠正。

PS:推荐一个微信公众号: askHarries 或者qq群:474807195,里面会分享一些资深架构师录制的视频录像:有Spring,MyBatis,Netty源码分析,高并发、高性能、分布式、微服务架构的原理,JVM性能优化这些成为架构师必备的知识体系。还能领取免费的学习资源,目前受益良多

转载请注明原文出处:Harries Blog™ » Spring Boot 把 Maven 干掉了,正式拥抱 Gradle!

赞 (0)
分享到:更多 ()

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址