自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Spring Boot 把 Maven 干掉了

開發(fā) 前端
在國外某社交網(wǎng)站上有一個關(guān)于遷移 Spring Boot 遷移 Maven 至 Gradle 的帖子。該貼子上也有很多人質(zhì)疑:Maven 用的好好的,為什么要遷移至 Gradle?

在國外某社交網(wǎng)站上有一個關(guān)于遷移 Spring Boot 遷移 Maven 至 Gradle 的帖子:

 

Spring Boot 把 Maven 干掉了

該貼子上也有很多人質(zhì)疑:Maven 用的好好的,為什么要遷移至 Gradle?

雖然該貼子只是說 Gradle 牛逼,但并沒有說遷移至 Gradle 所帶來的影響和價值。

所以,Spring Boot 官方對此也發(fā)了博文作了解釋:

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

棧長簡單概括一下。

沒錯,Spring Boot 做了一個重大調(diào)整:

在 Spring Boot 2.3.0.M1 中,將首次使用 Gradle 代替 Maven 來構(gòu)建 Spring Boot 項目。

為什么要遷移?

Spring Boot 團隊給出的主要原因是,遷移至 Gradle 可以減少構(gòu)建項目所花費的時間。

因為使用 Maven 構(gòu)建,回歸測試時間太長了,等待項目構(gòu)建大大增加了修復 bug 和實現(xiàn)新特性的時間。

而 Gradle 的宗旨是減少構(gòu)建工作量,它可以根據(jù)需要構(gòu)建任何有變化的地方或者并行構(gòu)建。

當然,Spring Boot 團隊也花了很多時間來嘗試用 Maven 進行 并行構(gòu)建,但因為構(gòu)建 Spring Boot 項目的復雜性,最終失敗了。

另外,Spring Boot 團隊也看到了在其他 Spring 項目中使用 Gradle 以及并行構(gòu)建所帶來的提升,并且還可以使用 Gradle 在一些第三方項目上的構(gòu)建緩存,這些優(yōu)勢都促使 Gradle 帶到構(gòu)建 Spring Boot 項目中來。

遷移有什么好處?

棧長使用 Maven,哪怕只改一個代碼也是構(gòu)建全部,構(gòu)建項目確實要花不少時間。

Spring Boot 官方也給出了數(shù)據(jù),一次完整的 Maven 項目構(gòu)建一般需要一個小時或者以上,而在過去的 4 周時間內(nèi),使用 Gradle 構(gòu)建的平均時間只用了 9 分 22 秒!!!

如下面截圖所示:

 

Spring Boot 把 Maven 干掉了

光從構(gòu)建時間來看,效率真是倍數(shù)級的。

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

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

 

Spring Boot 把 Maven 干掉了

而最新發(fā)布的 Spring Boot 2.3.1 已經(jīng)是切換到 Gradle 了:

 

Spring Boot 把 Maven 干掉了

會帶來什么影響?

也許會有小伙伴質(zhì)疑,Spring Boot 遷移到了 Gradle,會不會對公司現(xiàn)有的 Maven 項目或者后續(xù)的版本升級造成影響?

如果你只是使用 Spring Boot 框架來搭建系統(tǒng),那還是可以繼續(xù)使用 Maven 來管理依賴的,Spring Boot 會繼續(xù)在 Maven 中央倉庫提交。

如下面所示:

 

  1. <dependency> 
  2.     <groupId>org.springframework.boot</groupId> 
  3.     <artifactId>spring-boot</artifactId> 
  4.     <version>2.3.1.RELEASE</version> 
  5. </dependency> 

因為當版本確定之后,這個 Maven 構(gòu)建只是一次性的,不會影響 Spring Boot 團隊的日常迭代效率。

但是,如果我們需要在本地構(gòu)建 Spring Boot 源碼,或者你正在學習最新 Spring Boot 源碼,就需要掌握 Gradle 構(gòu)建了。

題外話,Gradle 肯定是未來的趨勢,但也不一定非得遷移至 Gradle,只有適合自己的才是最好的,畢竟現(xiàn)在 Maven 和 Gradle 都是主流,但是 Maven 更占有市場,很多主流開源項目都是以 Maven 依賴來作為示例演示的。

棧長也會陸續(xù)關(guān)注 Spring Boot 動態(tài),后續(xù)也會給大家?guī)砀鞣矫娴慕坛?,獲取歷史教程可以點擊下面的了解更多鏈接關(guān)注Java技術(shù)棧,掌握 Spring Boot 問題不大。

學習、從不止步。

責任編輯:未麗燕 來源: 今日頭條
相關(guān)推薦

2018-03-23 05:25:18

5GWiFi網(wǎng)絡(luò)

2020-04-09 08:29:50

編程語言事件驅(qū)動

2019-04-25 14:25:24

Spring Bootif elseJava

2025-05-20 03:00:00

CQRS微服務(wù)Spring

2025-03-12 14:09:56

2019-11-26 10:07:10

業(yè)務(wù)開發(fā)邏輯

2020-12-28 13:43:03

MacWindowsSurface

2025-03-03 08:49:59

2022-04-06 21:50:08

區(qū)塊鏈互聯(lián)網(wǎng)支付

2014-12-01 11:20:28

Win8.1微軟

2020-01-21 19:21:44

WindowsWindows 10Windows XP

2020-07-21 08:06:05

日志

2020-04-02 14:07:30

微信QQ轉(zhuǎn)賬

2022-11-01 08:55:55

編譯工具MavenSpring

2021-10-08 14:32:33

電腦二進制計算機

2019-10-22 09:11:50

策略業(yè)務(wù)代碼

2021-01-11 09:39:31

Windows軟件電腦

2020-06-30 14:25:28

MavenGradle Spring

2023-03-29 15:14:15

數(shù)據(jù)AI

2022-10-14 09:12:59

參數(shù)Python類型
點贊
收藏

51CTO技術(shù)棧公眾號