網(wǎng)站備案幕布尺寸網(wǎng)站seo快速
mvnd
- 一、簡介
- 一、定位與背景
- 二、核心架構(gòu)與加速原理
- 三、使用注意事項
- 二、下載安裝
- 三、idea集成mvnd插件
- 四、打包測試時長
一、簡介
mvnd(Maven Daemon)是Apache Maven團隊推出的高性能構(gòu)建工具,旨在解決傳統(tǒng)Maven構(gòu)建速度慢的問題。它通過引入守護進程、GraalVM等技術(shù)創(chuàng)新,顯著提升構(gòu)建效率,同時保持與Maven的兼容性。以下是其核心要點:
一、定位與背景
-
項目起源
- 由Apache Maven團隊開發(fā),是Maven的子項目,借鑒了Gradle的守護進程和Takari的生命周期優(yōu)化技術(shù)。
- 目標:在不改變Maven使用習慣的前提下,提供更快的構(gòu)建速度,與Gradle競爭。
-
核心問題解決
- 傳統(tǒng)Maven每次構(gòu)建需重啟JVM,加載插件和依賴,耗時嚴重;mvnd通過守護進程和緩存機制消除這些開銷。
二、核心架構(gòu)與加速原理
-
守護進程(Daemon)
- 長期運行的后臺進程,處理連續(xù)構(gòu)建請求,避免重復(fù)啟動JVM。
- 支持并行啟動多個守護進程,應(yīng)對高并發(fā)構(gòu)建。
-
GraalVM替代JVM
- 客戶端使用GraalVM編譯為本地可執(zhí)行文件,啟動速度更快,內(nèi)存占用更低。
-
緩存與JIT優(yōu)化
- 插件緩存:插件類加載器在多構(gòu)建間緩存,避免重復(fù)解析(快照版本除外)。
- JIT保留:即時編譯生成的本地代碼被保留,重復(fù)構(gòu)建時直接使用優(yōu)化后的代碼,減少編譯時間。
-
并行構(gòu)建
- 默認使用多核CPU并行構(gòu)建模塊(核心數(shù)公式:
max(可用核數(shù)-1, 1)
),可通過-T1
強制串行。
- 默認使用多核CPU并行構(gòu)建模塊(核心數(shù)公式:
三、使用注意事項
-
命令兼容性
- 只需將
mvn
替換為mvnd
,參數(shù)完全一致(如mvnd clean package -DskipTests
)。
- 只需將
-
局限性
- 快照插件:不緩存快照版本插件,每次重新加載。
- 中文亂碼:可能需調(diào)整終端編碼(與IDEA控制臺兼容性有關(guān))。
- 路徑轉(zhuǎn)義:Windows配置文件中路徑需雙斜杠(
\\
)。
二、下載安裝
github地址:https://github.com/apache/maven-mvnd
1、在github下載mvnd解壓,目前最新版1.0.2,目錄與maven相似
2、設(shè)置環(huán)境變量
在環(huán)境變——》系統(tǒng)變量——》path添加{maven-mvnd-path}/bin
3、查看是否安裝完成,終端輸入命令 mvnd -v
,顯示版本即安裝完成
三、idea集成mvnd插件
1、idea插件市場安裝Maven Helper
插件
2、安裝后重啟idea,設(shè)置maven helper使用mvnd
3、更改mvnd的配置
配置文件位置
更換為自己的本地倉庫路徑
更換阿里鏡像
4、右鍵進行打包項目
四、打包測試時長
使用maven打包,clean后
第二次使用maven打包。未clean
使用mvnd打包,clean后
第二次打包,未clean。提升了一倍