实测 - maven新插件构建性能提升 300%

image

mvnd 是什么

mvnd 是 apache/maven 的子项目 maven-mvnd,并不是一个全新的构建工具而是对 maven 的一个扩展工具。

mvnd 基于 Gradle 和 Takari 构建,目标是让 maven 更快的构建。

  • Gradle 是一个基于 Apache Ant 和 Apache Maven 概念的项目自动化建构工具。Gradle 构建脚本使用的是 Groovy 或 Kotlin 的特定领域语言来编写的,而不是传统的 XML。

  • Takari 是 maven-wrapper 核心,大部分的开源项目都是提供 warpper 方便用户不安装 maven 的前提下快速构建。

image

性能提升

  • 笔者基于 pig (多 module maven)项目进行构建。如下方说明: 300%的性能提升
芯片:Apple M1
核总数:8(4性能和4效率)
内存:16 GB
mvnd clean install

[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  16.334 s (Wall Clock)
[INFO] Finished at: 2021-12-24T09:08:57+08:00
[INFO] ------------------------------------------------------------------------
mvn clean install

[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  43.119 s
[INFO] Finished at: 2021-12-24T08:41:10+08:00
[INFO] ------------------------------------------------------------------------

如何使用

  • 以上两步就完成了 mvnd 的安装,默认情况下已经内置 maven 无需再下载 maven

从 maven 配置迁移

  • 配置 conf/mvnd.properties

  • maven.settings 配置指向原有 maven 配置文件即可
# The location of the maven settings file. The client normally uses default settings in {@code ~/.m2/settings.xml}.
maven.settings=/Users/lengleng/env/apache-maven-3.8.1/conf/settings.xml

原文:https://mp.weixin.qq.com/s/5LGTnYCGMB4nHyWHnkA5oQ