maven-mvnd高性能構(gòu)建插件

maven-mvnd高性能構(gòu)建插件

1. 簡介

mvnd屬于maven的子項目,目的是為了提高構(gòu)建性能,且學(xué)習(xí)成本很低,可以花極少的時間學(xué)習(xí)就能大幅提高工作效率。
GitHub:https://github.com/apache/maven-mvnd

2.特性

  1. mvnd內(nèi)嵌了maven(無需另外安裝maven,已經(jīng)安裝過maven也不用擔(dān)心沖突)
  2. 實際的構(gòu)建是在長期的守護進程中進行
  3. 一個守護進程可以為多個構(gòu)建請求提供服務(wù)
  4. mvnd客戶端是基于GraalVM構(gòu)建,與傳統(tǒng) JVM 相比,它啟動速度更快,使用的內(nèi)存更少。

3.優(yōu)勢

  1. 用于運行實際構(gòu)建的 JVM 不需要為每個構(gòu)建重新啟動。
  2. 持有 Maven 插件類的類加載器被緩存在多個構(gòu)建中。因此,插件 jar 只需讀取和解析一次。
  3. GraalVMJIT(Just In Time)實時編譯特性也被運用到Maven構(gòu)建作業(yè)中。JIT可以大大降低編譯時間,在重復(fù)構(gòu)建過程中,JIT優(yōu)化代碼立即可用,也極大提高了構(gòu)建效率。

4.安裝

https://github.com/apache/maven-mvnd/releases

image
  1. 下載對應(yīng)系統(tǒng)的壓縮包
  2. 解壓后修改配置文件,修改conf/mvnd.properties
image

拉到底部修改settings文件目錄,可以指向原安裝maven中的xml文件,也可單獨放到一個目錄中。

image
  1. 配置環(huán)境變量

mvndbin目錄配置到環(huán)境變量path

5. 測試

以多模塊復(fù)雜項目在Windows構(gòu)建為例。
默認(rèn)情況下,mvnd使用多個 CPU 內(nèi)核并行構(gòu)建模塊,如果該項目不支持并行構(gòu)建,可以增加-T1參數(shù)進行串行構(gòu)建。

  • maven構(gòu)建
# 執(zhí)行maven命令開始構(gòu)建
mvn clean -U -Dmaven.test.skip=true package

# 最終結(jié)果
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  05:14 min
[INFO] Finished at: 2022-01-18T11:28:46+08:00
[INFO] ------------------------------------------------------------------------
  • mvnd構(gòu)建(并行)
# 執(zhí)行maven-mvnd命令開始構(gòu)建
mvnd clean -U -Dmaven.test.skip=true package

# 最終結(jié)果
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  01:45 min (Wall Clock)
[INFO] Finished at: 2022-01-18T11:31:19+08:00
[INFO] ------------------------------------------------------------------------
  • mvnd構(gòu)建(串行)
# 執(zhí)行maven-mvnd命令開始構(gòu)建
mvnd clean -U -Dmaven.test.skip=true package -T1

# 最終結(jié)果
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  04:51 min
[INFO] Finished at: 2022-01-18T11:39:17+08:00
[INFO] ------------------------------------------------------------------------
  • 參照構(gòu)建時間,并行方式構(gòu)建大幅減少。
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容