maven-mvnd
是Apache Maven团队
借鉴了Gradle
和Takari
的优点,衍生出来的更快的构建工具,是maven的强化版
。
github地址:https://github.com/apache/maven-mvnd
maven-mvnd 特性:
- 嵌入 Maven (所以不需要单独安装 Maven);
maven 过渡到 maven-mvnd
的过程中实现无缝切换
!所以不需要再安装maven或进行复杂的配置更改。 - 实际的构建发生在一个长期存在的后台进程中,也就是守护进程。如果没有为构建请求服务的空闲守护进程,则可以并行产生多个守护进程。
- 一个守护进程实例可以处理来自 mvnd 客户机的多个连续请求。
- 使用 GraalVM 构建的本地可执行文件。与传统的 JVM 相比,它启动更快,使用的内存更少。
这种架构带来的优势有:
- 运行实际构建的 JVM 不需要为每个构建重新启动,节省时间。
- JVM 中的实时(JIT)编译器生成的本机代码也保留了下来。与 Maven 相比,JIT 编译花费的时间更少。在重复构建过程中,JIT 优化的代码可以立即使用。这不仅适用于来自 Maven 插件和 Maven Core 的代码,也适用于来自 JDK 本身的所有代码。
1、使用步骤
1.1 下载
下载地址:https://github.com/apache/maven-mvnd/releases
我这里是windows,下载 maven-mvnd-1.0-m6-m39-windows-amd64.zip
版本即可。
1.2 安装
直接解压。
然后配置环境变量:将 bin 目录添加到 PATH
1.3 使用
在使用上和Maven一样,参数也一致。
Maven 使用 mvn clean package
;使用Maven-mvnd 只需要变成 mvnd clean package
即可,其他同理。
为了最小程度的兼容原来的Maven,可以使用原来的 setting.xml
打开 Maven-mvnd 安装目录下 的 /conf/mvnd.properties
文件,修改:
maven.settings=XXXX/XXX/XXX/settings.xml
1.3 打包
命令:
# maven 打包命令
mvn clean package -Dmaven.test.skip=true
# mvnd 打包命令
mvnd clean package -Dmaven.test.skip=true
总的来说:
如果项目模块很多,可以尝试使用 mvnd 进行辅助打包,比如 测试、生产,可以节省很多时间;