Index of /maven/mvnd
https://downloads.apache.org/maven/mvnd/
maven-mvnd 是 Apache Maven 團(tuán)隊(duì)借鑒了 Gradle 和 Takari 后衍生出的更快的構(gòu)建工具。mvnd內(nèi)嵌了Maven秋柄,也正是因?yàn)檫@個(gè)原因我們可以無(wú)縫地將 Maven 切換為 mvnd(也不需要單獨(dú)安裝Maven)。
在設(shè)計(jì)上,在 mvnd 中會(huì)生成一個(gè)或多個(gè)的守護(hù)進(jìn)程來(lái)服務(wù)構(gòu)建請(qǐng)求以此來(lái)達(dá)到并行構(gòu)建的效果旋奢。另外在VM的選擇上润匙,mvnd使用了GraalVM來(lái)代替?zhèn)鹘y(tǒng)的 JVM疫诽,與之相比 GraalVM 啟動(dòng)速度更快胧砰,占用的內(nèi)存更少鳍鸵。
根據(jù)文檔描述,與傳統(tǒng)的 Maven 相比 mvnd 具有以下優(yōu)勢(shì):
運(yùn)行構(gòu)建的 JVM 不需要為每個(gè)構(gòu)建重新啟動(dòng)尉间。
Maven 插件類的類加載器緩存在多個(gè)構(gòu)建中权纤,插件 jars 只會(huì)被讀取和解析一次。
JVM 中 JIT 生成的本機(jī)代碼會(huì)被保留乌妒。與 Maven 相比,JIT 編譯花費(fèi)的時(shí)間更少外邓。在重復(fù)構(gòu)建期間撤蚊,JIT 優(yōu)化的代碼立即可用。這不僅適用于來(lái)自 Maven 插件和Maven內(nèi)核的代碼损话,也適用于來(lái)自 JDK 本身的所有代碼侦啸。
默認(rèn)情況下,mvnd 使用多個(gè) CPU 內(nèi)核并行構(gòu)建模塊丧枪。使用的內(nèi)核數(shù)由公式 Math.max(Runtime.getRuntime().availableProcessors() - 1, 1) 給出光涂。 如果您的源代碼樹不支持并行構(gòu)建,請(qǐng)?jiān)诿钚猩蟼鬟f -T1 以使您的構(gòu)建串行拧烦。
【可選】在解壓后根目錄的 conf 文件夾下找到 mvnd.properties 配置文件忘闻,配置 maven.settings 屬性值為 maven 配置文件 settings.xml 的文件路徑。注意:此 settings.xml 文件存放位置不受限制恋博。
查看幫助
mvnd --help
參考
apache/maven-mvnd: Apache Maven Daemon
https://github.com/apache/maven-mvnd