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

JAVA架构日记

共 1649字,需浏览 4分钟

 ·

2021-12-25 10:34


mvnd 是什么

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

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

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

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

构建工具之间的关系

性能提升

  • 笔者基于 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] ------------------------------------------------------------------------

如何使用

  • ① 下载后解压安装:https://github.com/mvndaemon/mvnd/releases

  • ② 配置 mvnd 环境变量

  • 以上两步就完成了 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

参考资料

[1]

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


浏览 47
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报