精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

Spring/Spring Boot編譯工具從Maven遷移到了Gradle

開發(fā) 開發(fā)工具
我們對遷移的進展以及我們所看到的構(gòu)建時間的減少感到非常滿意。 CI 構(gòu)建現(xiàn)在平均需要大約 20 分鐘,比以前快 3-4 倍。 本地構(gòu)建平均需要 2 分 30 秒,比以前快 20-30 倍。

如果您正在考慮從 Maven 遷移到 Gradle,我希望了解更多有關(guān) Spring Boot 團隊的經(jīng)驗是有用的。 如果你是一個快樂的Maven 用戶,請繼續(xù)使用和支持適合你的工具。

原文地址:https://spring.io/blog/2020/06/08/migrating-spring-boot-s-build-to-gradle

我們在 2.3.0.M1 中對 Spring Boot 進行了相當(dāng)大的改變。 這是使用 Gradle 而不是 Maven 構(gòu)建的項目的第一個版本。 關(guān)于遷移的 Twitter 上的帖子 有很多人問我們?yōu)槭裁辞袚Q以及我們看到的好處(如果有的話)。 這篇博文旨在回答這些問題。

Spring 產(chǎn)品套件中的每個項目都以相當(dāng)自主的方式運行。 我們力求在用戶最容易看到的地方保持一致性--例如 API 設(shè)計,但選擇最能滿足項目需求的工具就不太明顯。 一個例子是構(gòu)建系統(tǒng)。 對構(gòu)建系統(tǒng)的改變會影響那些為項目做出貢獻的人,但如果我們做對了,它對用戶是沒有影響的。 這導(dǎo)致混合了基于 Maven 和 Gradle 的構(gòu)建。 例如,自 2012 年 3.2.0.M1 以來,Spring Framework就一直使用 Gradle 構(gòu)建;而 Spring Boot一年后誕生的,Spring Cloud也在此后不久開始,兩者當(dāng)時都使用基于 Maven 的構(gòu)建。 與 Spring Boot 不同的是,Spring Cloud目前沒有切換的計劃,因為Maven滿足他們的需求。 簡而言之,如果您從這篇博文中只得到一件事,那就是您應(yīng)該選擇最能滿足您項目需求的任何工具。

我們?yōu)槭裁匆袚Q?

Spring Boot 團隊考慮切換到Gradle的主要原因是減少構(gòu)建項目所需的時間。 在進行測試修改時,我們對反饋循環(huán)的長度感到沮喪。 等待構(gòu)建完成所花費的時間增加了修復(fù)錯誤和實現(xiàn)新功能所花費的時間。 我們在其他Spring 項目中看到了Gradle 的增量和并行構(gòu)建以及在第三方項目中的 Gradle 構(gòu)建緩存的好處。 我們希望我們可以在 Spring Boot 的構(gòu)建中獲得類似的好處。

我們過去曾嘗試利用 Maven 對并行構(gòu)建的支持。 由于 Spring Boot 構(gòu)建的復(fù)雜性,尤其是對 Invoker 插件的使用,我們的嘗試失敗了。 我們通過在CI(持續(xù)集成)上將構(gòu)建分成四個部分來解決這個問題。 該項目的主要核心是先構(gòu)建的,然后并行構(gòu)建三個獨立的部分。 這種安排雖然有所幫助,但CI構(gòu)建任務(wù)仍然需要一個小時或更長時間。 此外,由于拆分結(jié)構(gòu)是特定于 CI 構(gòu)建的,它并沒有使開發(fā)人員的本地構(gòu)建更快。

Gradle 有一個構(gòu)建結(jié)構(gòu)的廣泛模型,了解每個任務(wù)的輸入和輸出及其相互依賴關(guān)系。 這種建模的承諾是它允許任務(wù)并行運行,同時也可以增量、緩存或完全避免。 換句話說,Gradle 旨在最大限度地減少構(gòu)建任何給定更改所需的工作量,并行執(zhí)行必要的工作。 如果我們堅持并廣泛重組 Spring Boot 的構(gòu)建,那么使用 Maven 并行構(gòu)建可能是可行的。 而且,如果我們使用 Gradle Enterprise 的Maven支持,我們也可以享受構(gòu)建緩存和避免的好處。 然而,為了充分享受這四個方面的好處,我們覺得我們必須嘗試切換到 Gradle。

我們怎么切換?

我們看到的對 Gradle 的一種批評是,它導(dǎo)致構(gòu)建比基于 Maven 的同類產(chǎn)品更難維護和理解。 Gradle的靈活性允許以微妙不同的方式完成任務(wù),即使是在同一構(gòu)建中的模塊之間也是如此。 如果要成功切換,我們需要避免這種情況發(fā)生。 我們已經(jīng)發(fā)布了四個Spring Boot 2.3 里程碑(候選版本和 Gradle 的最終版本),看起來已經(jīng)成功了。 核心團隊或任何其他貢獻者都沒有看到任何重大的構(gòu)建問題。

Spring Boot 的一個關(guān)鍵特性是“約定優(yōu)于配置”,我們也將這種方法應(yīng)用于構(gòu)建。遵循“ 避免在 build.gradle 文件中包含命令式邏輯 ”的建議,我們編寫了幾個可以找到的小插件在項目的 [buildSrc](https://github.com/spring-projects/spring-boot/tree/d4c7315369e7e9dce6eb1c77e5f23d1e670247c8/buildSrc)中。例如我們有一個starter plugin 應(yīng)用于每個 Spring Boot 啟動模塊,確保它們都被一致地配置、構(gòu)建和發(fā)布。我們還有一個約定插件對正在應(yīng)用的其他插件做出反應(yīng),并配置諸如源代碼編碼、JUnit 平臺的使用以及使用“-parameters”編譯等內(nèi)容。

這種方法導(dǎo)致 build.gradle 文件幾乎完全是聲明性的。 盡管我們編寫了許多插件來應(yīng)用我們的約定并填補Gradle 生態(tài)系統(tǒng)中的空白, 但遷移到 Gradle 的提交 卻從代碼庫中刪除了近 9500 行。

切換有好處嗎?

在減少項目的構(gòu)建時間方面,將構(gòu)建遷移到 Gradle 無疑是成功的。 如上所述,在 CI 和開發(fā)人員自己的機器上,一個完整的基于 Maven 的構(gòu)建需要一個小時或更長時間。 在過去的四個星期里,使用 Gradle平均成功構(gòu)建時間為 9 分 22 秒,如下面的屏幕截圖所示:

我們從 JDK 8 CI 構(gòu)建發(fā)布快照。 專注于那些,它在過去 4 周內(nèi)成功了 183 次 與 平均構(gòu)建 時間 19 分 37 秒。 查看成功的本地構(gòu)建,我們可以看到:

過去 4 周內(nèi)成功構(gòu)建了 273 個

平均構(gòu)建時間為 2 分 30 秒

Gradle 吸引我們的另一個好處是 我很享受 在為 Testcontainers 做貢獻時的體驗。 我們希望 Spring Boot 的貢獻者能夠盡快克隆和構(gòu)建項目。 感謝遠程構(gòu)建緩存,可以 3 分鐘內(nèi)構(gòu)建完成,這包括下載大量依賴項所花費的時間。

如果您對構(gòu)建性能的更多細節(jié)感興趣,可以在我們的公共 Gradle Enterprise 實例 上獲得更多數(shù)據(jù)。

除了性能改進之外,我們還開始研究其他一些可用的數(shù)據(jù)。例如,我們已經(jīng)意識到我們有一些不穩(wěn)定的測試一段時間了。由于它們,構(gòu)建失敗的頻率超出了我們的預(yù)期,我們現(xiàn)在可以在 Tests dashboard中看到這一點。我們已經(jīng)開始使用 Gradle 的易碎測試緩解來識別 CI 上發(fā)生的任何易碎測試幫助我們了解我們是否已成功解決或解決問題。

結(jié)論

我們對遷移的進展以及我們所看到的構(gòu)建時間的減少感到非常滿意。 CI 構(gòu)建現(xiàn)在平均需要大約 20 分鐘,比以前快 3-4 倍。 本地構(gòu)建平均需要 2 分 30 秒,比以前快 20-30 倍。

我想借此機會感謝 Gradle 團隊在遷移過程中提供的幫助,并慷慨地為我們提供了 Gradle Enterprise 許可證以用于我們的開源項目。 我們已經(jīng)將它與 Spring Framework、Spring Security 和 Spring Boot 一起使用,其他團隊計劃開始將它用于基于 Gradle 和 Maven 的構(gòu)建。

我還要感謝我們正在使用的各種第三方插件的維護者。 他們提出了建議的更改并合并了拉取請求,以改進對增量構(gòu)建和緩存的支持。 沒有它們,我們將無法實現(xiàn)我們所看到的構(gòu)建時間的減少。

如果您正在考慮從 Maven 遷移到 Gradle,我希望了解更多有關(guān) Spring Boot 團隊的經(jīng)驗是有用的。 如果你是一個快樂的 Maven 用戶,請繼續(xù)使用和支持適合你的工具。

文章出自:??愛科學(xué)的衛(wèi)斯理??,如有轉(zhuǎn)載本文請聯(lián)系愛科學(xué)的衛(wèi)斯理今日頭條號。

責(zé)任編輯:武曉燕 來源: 今日頭條
相關(guān)推薦

2011-04-25 09:35:31

TwitterJava

2021-11-29 09:44:03

UmiJSVite前端

2023-09-21 22:50:15

KubernetesSpring

2020-06-30 14:25:28

MavenGradle Spring

2021-08-18 10:36:43

Sping社區(qū)實驗項目服務(wù)器

2020-11-09 14:03:51

Spring BootMaven遷移

2010-09-29 11:06:21

活動目錄OpenLDAP

2012-05-21 10:23:36

2013-06-21 13:49:08

MariaDB

2010-07-20 09:48:33

2016-10-26 16:44:44

WatchfinderAWS云計算

2024-03-29 09:13:58

MochaNode.js測試

2009-02-06 10:32:00

UnixLinux服務(wù)器

2013-05-03 09:49:38

MySQLMariaDB

2020-07-27 11:35:26

GitHub代碼開發(fā)者

2025-10-29 08:06:49

2022-06-06 07:24:09

Caddy開源Ubuntu

2011-06-24 10:10:35

SVN

2017-02-27 08:37:01

2016-02-24 10:45:00

點贊
收藏

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

国产福利精品一区二区| 国产一区99| 亚洲欧美国产77777| 91精品国产色综合久久不卡98口| 亚洲第一成肉网| 日本在线免费播放| 久久精品999| 伊人男人综合视频网| 白嫩少妇丰满一区二区| 手机看片福利永久| 在线亚洲激情| 亚洲午夜色婷婷在线| www.这里只有精品| av片在线观看永久免费| 成人亚洲一区二区一| 久久久久久久成人| 国产麻豆天美果冻无码视频| 韩国成人动漫| 1024成人网| 不卡视频一区二区| 亚洲天堂一区在线观看| 成人影院在线| 日韩一区二区麻豆国产| www.在线观看av| 久久精品蜜桃| 激情欧美一区二区三区在线观看| 欧美巨乳在线观看| 免费日本黄色网址| 天天综合91| 中文字幕一区二区三区不卡| 国产91精品入口17c| 黄色在线观看国产| 91久久电影| 亚洲国产精品女人久久久| 欧美三级午夜理伦三级| 成人三级网址| 久久久精品国产免费观看同学| 国产精品一区二区三区成人| 伊人国产在线观看| 精品成人影院| 精品久久久三级丝袜| avav在线看| 污污片在线免费视频| 久久久久久久久一| 成人午夜激情网| 亚洲熟女综合色一区二区三区| 亚欧美无遮挡hd高清在线视频 | 国产精品1000部啪视频| 国产成人毛片| 五月天激情综合| 性欧美大战久久久久久久免费观看 | 国产精品久久久久久久久久辛辛 | 日韩精品一区二区在线播放 | 91欧美大片| 在线日韩一区二区| 日产精品久久久久久久蜜臀| 高清毛片在线看| 国产成人av电影在线| 国产精品久久久久久亚洲调教| 亚欧洲精品在线视频| 久久网站免费观看| 亚洲午夜av久久乱码| 日韩不卡的av| 四虎影视国产精品| 欧美剧在线免费观看网站 | 女性女同性aⅴ免费观女性恋| 日本福利专区在线观看| 国产99精品在线观看| 国产美女精彩久久| 国产一区二区视频免费| 国产日韩欧美一区| 久久久亚洲网站| 激情小说中文字幕| 女生裸体视频一区二区三区| 在线电影av不卡网址| 天天插天天射天天干| y111111国产精品久久久| 欧美一卡二卡在线| 在线一区二区不卡| 国产精品无码久久久久| 精品视频一区三区九区| 亚洲视频在线观看一区二区三区| 在线天堂中文资源最新版| 精品美女久久久久久免费| a级黄色小视频| 麻豆蜜桃在线| 亚洲一区影音先锋| 激情五月六月婷婷| 香蕉久久aⅴ一区二区三区| 亚洲丝袜自拍清纯另类| 免费久久久久久| 免费av毛片在线看| 亚洲精选免费视频| 成人免费观看在线| 欧亚av在线| 色婷婷精品久久二区二区蜜臂av| 国产精品亚洲a| 福利精品在线| 欧美福利一区二区| 四虎国产精品免费| 国产精品色呦| 亚洲欧美精品中文字幕在线| 手机免费看av| 欧美激情另类| www国产精品com| 欧美三级小视频| 在线日本高清免费不卡| 日本午夜在线亚洲.国产| а中文在线天堂| 韩国一区二区视频| 国产99在线免费| 麻豆av电影在线观看| 中文字幕不卡在线| 50度灰在线观看| 成入视频在线观看| 在线视频你懂得一区二区三区| 欧美精品成人网| 中文字幕综合| 日韩高清不卡av| 农村老熟妇乱子伦视频| 亚洲视频观看| 久久久久久亚洲精品中文字幕| av网站中文字幕| 国产一区二区三区免费在线观看 | 日韩字幕在线观看| 日本vs亚洲vs韩国一区三区二区 | 999久久久精品视频| 激情小说一区| 这里只有视频精品| 国产小视频在线看| 欧美亚洲在线| 国产日韩欧美视频| 凸凹人妻人人澡人人添| 中文字幕在线一区免费| 亚洲美免无码中文字幕在线 | 高清不卡一区二区| 五月天亚洲综合| 91最新在线视频| 色婷婷国产精品| 午夜大片在线观看| 国产一区二区亚洲| 欧美激情一区二区三区成人| 中文字幕二区三区| 97国产精品videossex| 亚洲一区二区三区乱码| 欧美gv在线| 日韩色视频在线观看| 东方伊人免费在线观看| 亚洲久久成人| 91九色在线观看| 日本在线免费| 欧美艳星brazzers| 网站免费在线观看| 欧美日本精品| 成人妇女淫片aaaa视频| 国产一级网站视频在线| 天天亚洲美女在线视频| 日本女人性视频| 欧美r级电影| 热门国产精品亚洲第一区在线| 精品国产99久久久久久宅男i| 国产欧美日韩久久| 男人操女人免费软件| 久久91在线| 欧美二区乱c黑人| 国产精品国产精品国产专区| 日本一区二区久久| 男女曰b免费视频| 亚洲精品动态| 久久免费成人精品视频| www.色日本| 亚洲视频在线观看一区| 国产三级生活片| 精品一区欧美| 青青精品视频播放| 久草在现在线| 欧美自拍偷拍一区| 色综合99久久久无码国产精品| 久久av在线| 日本黄网免费一区二区精品| 天天综合网站| 亚洲毛茸茸少妇高潮呻吟| 五月天激情国产综合婷婷婷| 国产亚洲欧美在线| 熟女少妇精品一区二区| 全球成人免费直播| 国产日韩在线一区| a毛片在线免费观看| 亚洲美女屁股眼交| 亚洲国产果冻传媒av在线观看| 美女精品网站| 免费成人进口网站| 欧美黄色影院| 国产精品视频地址| 麻豆蜜桃在线| 伊人一区二区三区久久精品| 99国产精品一区二区三区 | 国产第一页在线播放| 久久久久久亚洲综合| 亚欧精品在线视频| 美女精品网站| 91免费国产精品| 欧美人妖在线| 91精品天堂| 香蕉视频亚洲一级| 欧美人成在线视频| 六十路在线观看| 欧美mv日韩mv| 在线观看国产精品视频| 午夜电影网一区| 欧美做爰啪啪xxxⅹ性| 97久久超碰国产精品| 婷婷激情小说网| 日韩成人一级大片| 国产av国片精品| 999精品在线| 欧美lavv| 动漫av一区| 国产一区私人高清影院| 亚洲天堂电影| 欧美黄色小视频| 在线观看精品一区二区三区| 亚洲精品久久久久久久久| 国产夫绿帽单男3p精品视频| 在线观看视频91| 日本一二三区视频| 亚洲精品自拍动漫在线| 在线免费看视频| 久久一日本道色综合| 污污视频在线免费| 久热成人在线视频| 日韩亚洲在线视频| 日韩午夜高潮| 欧美一级视频在线播放| 欧美在线黄色| 一级全黄肉体裸体全过程| av中文字幕一区二区| 欧美高清视频一区| 日本成人中文| 国产一区精品视频| aiss精品大尺度系列| 亚洲自拍偷拍在线| 国产精品亚洲四区在线观看| 国产一区二区在线免费视频| 国产在线|日韩| 国产成人+综合亚洲+天堂| 亚洲天堂导航| 日韩av免费在线| xx欧美xxx| 全球成人中文在线| 成人动漫一区| 日本精品中文字幕| 精品国产免费人成网站| 日本伊人精品一区二区三区介绍 | 国产99在线|中文| 自拍偷拍欧美视频| 日本人成精品视频在线| 日韩电影网站| 国产va免费精品高清在线观看| 中文字幕在线中文字幕在线中三区| 91av国产在线| 天堂av在线| 国产成人av网| 欧洲美女精品免费观看视频| 成人在线激情视频| 欧美日韩国产一区二区在线观看| www 成人av com| 99精品国产高清一区二区麻豆| 国产精品日韩一区二区免费视频 | 日韩欧美一二三四区| www.av日韩| 日韩av一区二区在线| 飘雪影视在线观看免费观看| 一区二区国产精品视频| 色综合久久久久综合一本到桃花网| 久久精品国亚洲| 五月婷婷视频在线观看| 91av视频在线免费观看| 免费污视频在线一区| 91亚洲精品久久久久久久久久久久| 日韩视频在线直播| 久中文字幕一区| 久久亚洲专区| 免费视频爱爱太爽了| 蜜桃av综合| 亚洲午夜激情影院| 99麻豆久久久国产精品免费| 亚洲精品国产一区黑色丝袜| 亚洲欧美日韩国产综合| 免费毛片一区二区三区| 日本高清不卡在线观看| 99久久国产热无码精品免费| 亚洲成人免费网站| 成人高清免费观看mv| 欧美成人午夜激情在线| 中文字幕在线视频久| 91视频九色网站| 亚洲国产合集| 一本二本三本亚洲码| 99精品国产在热久久婷婷| 日本激情视频在线播放| 懂色av一区二区三区免费观看| 亚洲av综合一区二区| 一区二区三区视频在线看| 久久精品视频5| 欧美一区二区三级| 男人天堂网在线观看| 欧美大片在线免费观看| 亚洲综合av一区二区三区| 成人av免费看| 日韩精品电影| 精品少妇一区二区三区在线| 九色综合狠狠综合久久| 日韩网站在线播放| 一区二区三区四区在线播放| 一区二区乱子伦在线播放| 精品国产sm最大网站免费看| 日本美女高清在线观看免费| 5566成人精品视频免费| 一区三区自拍| 一区二区冒白浆视频| 六月婷婷一区| 国产精品日日摸夜夜爽| 亚洲人成人一区二区在线观看| 日日骚av一区二区| 亚洲国产毛片完整版| av电影免费在线观看| 国产精品自产拍在线观看| 亚洲另类av| 国产乱子伦农村叉叉叉| 国产iv一区二区三区| 三级黄色录像视频| 欧美色综合网站| 欧美精品a∨在线观看不卡 | 日本aⅴ亚洲精品中文乱码| 久久国产精品无码一级毛片| 亚洲国产一区二区a毛片| 国产麻豆免费视频| 精品国模在线视频| 国产精品亚洲成在人线| 日韩精品第一页| 久久久久久黄| 免费污网站在线观看| 好吊成人免视频| 天天干,夜夜操| 97视频在线观看网址| 国产精品国产| 人人干视频在线| 99久久婷婷国产综合精品| 国产一级在线播放| 亚洲国产精品人久久电影| 77thz桃花论族在线观看| 国产精选在线观看91| 在线精品在线| xxxx黄色片| 欧美丝袜第一区| 欧美zzoo| 国产精品久久久久久久久| 欧美在线色图| 在线黄色免费观看| 亚洲色图一区二区| 亚洲第一黄色片| 亚州av一区二区| 欧美做受69| 别急慢慢来1978如如2| 中文字幕久久午夜不卡| 成人a v视频| www.日韩av.com| 午夜免费欧美电影| 波多野结衣综合网| 2021中文字幕一区亚洲| 一区二区三区麻豆| 精品国偷自产在线| jizz性欧美23| 国产最新免费视频| 国产农村妇女精品| 国产精品嫩草影院精东| 欧美激情视频网| 先锋影音国产精品| 韩国中文字幕av| 亚洲欧洲综合另类在线 | 日韩高清a**址| 欧美日一区二区三区| 91嫩草国产丨精品入口麻豆| 波多野结衣亚洲一区| 波多野结衣视频在线看| 久久精品99久久久久久久久| 98视频精品全部国产| 999在线免费视频| 亚洲综合自拍偷拍| 免费一级毛片在线观看| 成人写真视频福利网| 夜久久久久久| 美女福利视频网| 欧美精品一区二区久久婷婷| 日韩久久一区二区三区| 潘金莲一级淫片aaaaaa播放1| av中文字幕不卡| 中文字幕一区二区三区四区视频| 欧美激情一级欧美精品|