精品欧美一区二区三区在线观看 _久久久久国色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ù)棧公眾號

欧美成人黄色网址| 亚洲一区二区三区四区在线播放| 国产成人精品无码片区在线| 中文字幕在线中文字幕在线中三区| 91麻豆高清视频| 国产精品免费看久久久香蕉| 欧美成人精品欧美一| 网友自拍区视频精品| 欧美色视频在线| 国产精品久久久久9999爆乳| 国产永久免费高清在线观看视频| 麻豆精品新av中文字幕| 欧美激情一二三| 黄色三级生活片| 国产精品主播在线观看| 日韩欧美黄色动漫| 男人草女人视频| 电影在线一区| av在线一区二区三区| 成人h片在线播放免费网站| 国产成人无码一区二区三区在线| 999国产精品永久免费视频app| 亚洲а∨天堂久久精品9966| 天天爽人人爽夜夜爽| 99爱在线观看| 亚洲综合免费观看高清完整版| 日韩一区免费观看| 性xxxx搡xxxxx搡欧美| 韩国欧美国产1区| 国产精品福利久久久| 日韩av片在线播放| 牛夜精品久久久久久久99黑人| 国产亚洲欧洲高清| 国产伦精品一区二区三区妓女 | 日韩一级毛片| 日韩精品999| 97精品人妻一区二区三区蜜桃| 日韩欧美激情| 欧美视频在线不卡| 狠狠热免费视频| 自拍偷拍欧美视频| 亚洲国产精品久久久久秋霞影院| 欧美少妇一区二区三区| 麻豆视频在线| 中文字幕欧美一区| 亚洲区一区二区三区| 精品三级久久久久久久电影聊斋| 99精品久久99久久久久| 国产91精品一区二区绿帽| 国产高清第一页| 国产一区二区不卡老阿姨| 91日韩在线播放| 国产农村妇女毛片精品| 麻豆久久久久久久| 91在线无精精品一区二区| 国产又粗又黄又爽视频| 韩国v欧美v亚洲v日本v| 成人黄色免费网站在线观看| 91国产精品一区| 精品无人码麻豆乱码1区2区 | 国产成人手机视频| 第四色男人最爱上成人网| 欧美色图在线视频| 日本熟妇人妻xxxxx| 中文字幕人成乱码在线观看| 粉嫩老牛aⅴ一区二区三区| 久草资源站在线观看| 日韩成人动漫| 欧美精品一二三四| 黑人巨大猛交丰满少妇| 亚洲国产一区二区三区网站| 欧美精品一区二区三区一线天视频| 蜜桃视频无码区在线观看| 国产成人一二片| 亚洲摸下面视频| 综合 欧美 亚洲日本| 99久久久久国产精品| 欧美精品日韩三级| 日韩黄色在线视频| 日韩和的一区二区| 91午夜理伦私人影院| 丰满熟妇人妻中文字幕| 久久先锋影音av鲁色资源网| 涩涩日韩在线| 爆操欧美美女| 亚洲成a人在线观看| 久久久久久久激情| 亚洲狼人综合| 日韩午夜三级在线| 中出视频在线观看| 日韩欧美在线中字| 久久99精品久久久久久琪琪| 在线观看亚洲欧美| 精品一区二区三区欧美| 国产精品一区二区不卡视频| 青青青草原在线| 亚洲欧洲另类国产综合| 免费av手机在线观看| 久久精品国产福利| 精品av久久707| 国产黄色片在线| 亚洲精品三级| 91精品免费看| 视频一区二区三区国产| 亚洲免费观看高清完整版在线观看熊 | 精产国品一区二区三区| 欧美综合精品| 不卡中文字幕av| 无码人妻久久一区二区三区| 国产精品一区一区| 日本一区二区高清视频| 免费在线国产视频| 欧美精品精品一区| 国产三级av在线播放| 韩国欧美一区| 成人黄色免费在线观看| 国产经典自拍视频在线观看| 亚洲成人av在线电影| 男女视频在线观看网站| 蜜桃a∨噜噜一区二区三区| 欧美第一淫aaasss性| 一区二区视频播放| 久久久久青草大香线综合精品| 国产 国语对白 露脸 | 亚洲va欧美va在线观看| 国产毛片在线| 欧美视频在线观看免费网址| 好吊操视频这里只有精品| 久久麻豆精品| 国产精品入口免费视| 青青免费在线视频| 狠狠干狠狠久久| wwwxx日本| 欧美粗暴jizz性欧美20| 成人免费高清完整版在线观看| 成在在线免费视频| 日本精品一区二区三区高清 | 欧美女优在线视频| 日本久久久久亚洲中字幕| 天堂av资源网| 午夜一区二区三区视频| 91精品啪在线观看国产| 欧美日韩四区| 国产精品国产三级欧美二区| caoporm免费视频在线| 欧美二区三区的天堂| 国产91在线播放九色| 日本v片在线高清不卡在线观看| 欧美下载看逼逼| 香蕉成人av| 国产一区二区日韩精品欧美精品| 黄色一级视频免费看| 91女厕偷拍女厕偷拍高清| 国产中文字幕在线免费观看| 亚洲精品播放| 国产精品劲爆视频| av亚洲在线| 91精品国产欧美一区二区18| 神马午夜精品91| 国产精品一区二区果冻传媒| 国产一级片91| 黄色欧美网站| 奇门遁甲1982国语版免费观看高清| 三级av在线播放| 色8久久人人97超碰香蕉987| 农村老熟妇乱子伦视频| 国产伦精品一区二区三区免费| a级片一区二区| 国内精品麻豆美女在线播放视频| 久久人91精品久久久久久不卡| 视频一区二区免费| 欧美日韩激情小视频| 精品一区二区三区蜜桃在线| 久久9热精品视频| 亚洲色欲久久久综合网东京热| 极品国产人妖chinesets亚洲人妖| 97成人精品区在线播放| 岛国最新视频免费在线观看| 91精品国产综合久久久久久| 日本系列第一页| 国产日韩视频一区二区三区| 国产欧美精品一二三| 亚洲视频一区| 亚洲国产精品一区二区第四页av| 日韩区一区二| 国产97在线视频| www在线免费观看视频| 亚洲国产精品热久久| 亚洲综合视频在线播放| 亚洲一区二区三区在线| 亚洲区自拍偷拍| 国产成人亚洲综合色影视| 精品99在线视频| 亚洲精彩视频| 欧美一区国产一区| 91麻豆精品激情在线观看最新| 国产不卡在线观看| 在线观看av免费| 亚洲一级黄色片| 亚洲欧美另类一区| 欧美日韩综合一区| 国产精品xxxx喷水欧美| 亚洲欧洲日韩在线| 公侵犯人妻一区二区三区| 国产精品亚洲专一区二区三区 | 视频在线日韩| 欧美极品在线视频| 瑟瑟视频在线| 亚洲欧美中文字幕在线一区| 亚洲伦理在线观看| 欧美日韩中文国产| 亚洲AV无码成人精品区东京热| 亚洲男人的天堂一区二区| 一道本在线观看| 99精品在线免费| 日本中文字幕有码| 国模无码大尺度一区二区三区| 欧美 日韩 国产在线观看| 亚洲免费二区| 亚洲最大免费| 精品精品99| 蜜桃av色综合| 久久亚洲黄色| 99在线热播| 精品成人18| 国产精品亚洲一区二区三区| 成人影院网站| 国产91精品不卡视频| 国产网红在线观看| 精品中文字幕在线观看| а天堂中文在线官网| 日韩中文在线观看| 成年人视频免费在线观看| 亚洲人成电影在线播放| 日本a一级在线免费播放| 亚洲激情自拍图| 天堂网在线中文| 亚洲丁香婷深爱综合| 黄片毛片在线看| 精品99久久久久久| 黄频在线免费观看| 亚洲国产精品久久久久秋霞不卡| 99久久亚洲精品日本无码| 欧美精品1区2区3区| 91福利免费视频| 欧美一区二区三区在线观看| 99精品国产99久久久久久97| 欧美丰满美乳xxx高潮www| 国产精品国产三级国产普通话对白| 欧美日韩情趣电影| 91丨九色丨蝌蚪丨对白| 欧美日韩国产精选| 国产三级视频在线播放| 91精品国产综合久久精品麻豆| 国产精品无码一区二区桃花视频| 337p亚洲精品色噜噜狠狠| 国产欧美日韩成人| 欧美电影免费提供在线观看| 国内爆初菊对白视频| 亚洲精品久久久久久下一站| 深夜福利免费在线观看| 亚洲人午夜精品免费| jizz在线免费观看| 欧美精品在线极品| 91老司机福利在线| 欧美与欧洲交xxxx免费观看| 日韩伦理三区| 91精品国产自产在线| 日韩成人在线观看视频| 成人欧美一区二区| 香蕉国产成人午夜av影院| 欧美一区二区在线视频观看| 91久久高清国语自产拍| avav在线播放| 亚洲欧美日韩专区| 女同激情久久av久久| 国产成人亚洲综合a∨猫咪| 亚洲第九十七页| 欧美国产日韩精品免费观看| 91porn在线视频| 欧美日韩中文字幕综合视频| 中文在线免费看视频| 精品国内片67194| 精品电影在线| 欧美精品制服第一页| 女人让男人操自己视频在线观看| 国产精品18久久久久久首页狼| 色8久久久久| 国产美女99p| 欧美r级电影| 国自产拍偷拍精品啪啪一区二区| 美腿丝袜一区二区三区| 久久人妻少妇嫩草av蜜桃| 国产亚洲欧美激情| 国产亚洲第一页| 欧美午夜视频网站| 日韩一级片免费看| 久久久精品国产亚洲| 中国字幕a在线看韩国电影| 91亚洲精华国产精华| 婷婷成人在线| 又大又硬又爽免费视频| 免费不卡在线视频| 最近日本中文字幕| 亚洲乱码中文字幕综合| 中文字幕免费高清网站| 亚洲第一在线视频| 黄色免费在线看| 国产精品福利久久久| 日韩av字幕| 大陆极品少妇内射aaaaaa| 免费成人av资源网| 久久成人激情视频| 精品日韩视频在线观看| av中文字幕第一页| 中文字幕欧美精品日韩中文字幕| 韩国精品一区| 不卡一卡2卡3卡4卡精品在| 久久密一区二区三区| 国产精品igao| 91丨九色丨尤物| 欧美三日本三级少妇99| 91精品国产综合久久精品app | 国产亚洲精品aa| 91视频免费网址| 日韩电视剧免费观看网站| 在线播放免费av| 91丝袜美腿美女视频网站| 999国产精品| 想看黄色一级片| 国产精品色在线| 高潮无码精品色欲av午夜福利| 日韩成人av在线| 欧美三级网站| 精品午夜一区二区| 亚洲黄色三级| 精品人妻一区二区免费视频| 亚洲国产aⅴ成人精品无吗| 精品人妻久久久久一区二区三区| 久久深夜福利免费观看| 2020国产精品小视频| 在线免费观看成人网| 久久99精品一区二区三区三区| 手机av在线不卡| 在线不卡中文字幕| 国产黄色在线观看| 亚洲自拍高清视频网站| 欧美国产高清| 性猛交╳xxx乱大交| 午夜电影网一区| 特黄视频在线观看| 全球成人中文在线| 精品av一区二区| 中文久久久久久| 中文字幕在线一区免费| 国产又黄又粗又猛又爽| 美女久久久久久久| 粉嫩av一区二区| 日韩中文字幕在线视频观看| 久久噜噜亚洲综合| 免费在线观看av的网站| 日韩天堂在线视频| 欧美一区一区| 三上悠亚久久精品| 国产婷婷色一区二区三区| 中文字字幕在线观看| 久久6免费高清热精品| 国产亚洲精品美女久久| 任你操这里只有精品| 国产精品三级久久久久三级| 国产精品久久久久久久免费 | 久久久久亚洲av成人片| 亚洲第一国产精品| 亚洲一区二区三区四区| 美国av在线播放| 成人的网站免费观看| 91久久国产综合久久91| 欧美xxxx18国产| 亚洲小说图片视频| 在线一区二区不卡| 亚洲成av人在线观看| 在线免费看黄| 国产日韩一区二区| 日本欧美一区二区三区乱码| 无码人妻精品一区二区三区夜夜嗨 | 天堂av在线网站| 亚洲一区二区三区四区在线免费观看 | 美女一区二区三区在线观看| 欧美日韩亚洲国产另类| 日韩va亚洲va欧洲va国产| 日韩精品一页| 久久国产亚洲精品无码| 亚洲欧洲韩国日本视频| 人妻一区二区三区| 国产一区二区丝袜| 亚洲深夜影院| 国产女片a归国片aa| 亚洲欧美一区二区三区久久| 久久久久久久久久久久电影| 白嫩少妇丰满一区二区|