mac安装mvnd结合idea

mac安装mvnd结合idea

hi,我是阿昌,今天记录一下mac系统下如何安装mvnd同时通过maven-helper插件配置mvnd命令,提升编译速度;

0、前言

如果你正在开发一个由大量模块组成的大型项目,Gradle可以让大型项目构建的更快,但是很多场景下的项目都是maven,所以从maven迁移到Gradle的代价巨大,那mvnd就是maven官方团队开发的and已经开源了的maven-mvnd

maven-mvnd 开发参考了Gradle守护进程设计,目的为了加速Maven的构建速度;

具有几个特性:

  • 内嵌maven,意味着,你用这个工具不需要改任何一行代码
  • 进程复用,实际的构建过程中放入了守护进程中,可以不断的复用;而maven每次构建都要启动一个JVM进程
  • 并行构建,执行并行地启动多个守护进程

前置条件

  1. mvnd:maven-mvnd-1.0-m8-m39-darwin-aarch64
  2. jdk:jdk1.8
  3. maven:maven3.8.4

1、下载mvnd包

这里在官方git上,下载后的地址预览:

只需要在末尾打开jdk和maven配置项目两个注释,写入自己的jdk环境变量位置和maven的配置文件位置就ok;

bash 复制代码
maven.settings=/Users/admin/Public/application/maven/3.8.4/apache-maven-3.8.4/conf/settings.xml

java.home=java.home=/Library/Java/JavaVirtualMachines/jdk1.8.0_321.jdk/Contents/Home

2、修改环境变量

环境变量分两个文件:

  • .bash_profile
  • .zshrc
.zshrc

打开配置文件命令:open ~/.zshrc

在该文件末尾添加如下环境变量(注意替换自己的真实的实际地址):

bash 复制代码
export JAVA_HOME=java.home=/Library/Java/JavaVirtualMachines/jdk1.8.0_321.jdk/Contents/Home
export PATH=$PATH:$JAVA_HOME/bin
export MAVEN_HOME=/Users/admin/Public/application/maven/3.8.4/apache-maven-3.8.4/conf/settings.xml
export PATH=$PATH:$MAVEN_HOME/bin
export MVND_HOME=/Users/admin/Public/application/mvnd/maven-mvnd-1.0-m8-m39-darwin-aarch64
export PATH=$PATH:$MVND_HOME/bin
export CLASSPATH=$JAVA_HOME/lib/tools.jar%  
.bash_profile

打开配置文件命令:open ~/.bash_profile

在该文件末尾添加如下环境变量:

bash 复制代码
export JAVA_HOME=/Users/admin/Public/application/jdk/jdk17/jdk-17.0.4.1.jdk/Contents/Home
export PATH=$PATH:$JAVA_HOME/bin
export MAVEN_HOME=/Users/admin/Public/application/maven/3.8.4/apache-maven-3.8.4/conf/settings.xml
export PATH=$PATH:$MAVEN_HOME/bin
export MVND_HOME=/Users/admin/Public/application/mvnd/maven-mvnd-1.0-m8-m39-darwin-aarch64
export PATH=$PATH:$MVND_HOME/bin
export CLASSPATH=$JAVA_HOME/lib/tools.jar%  
刷新配置
bash 复制代码
source ~/.zshrc
source ~/.bash_profile

校验mvnd是否配置成功:

bash 复制代码
mvnd -v

3、配置idea

这里结合idea里的插件maven-helper,中配置mvnd指令的地址即可

不要使用原生的mvn指令

项目右击maven中:


整个演示项目12个模块

mvnd命令耗时:73s

mvn命令耗时:152s

相关推荐
罗超驿3 分钟前
22.深入剖析JDBC架构:从原生API到企业级数据交互核心
java·数据库·mysql·面试
一直有一个ac的梦想12 分钟前
cmu15445 2025fall lec 18 transactions with two-phase lock
java·开发语言·数据库
九皇叔叔13 分钟前
Spring-Ai-Alibaba [04] 04-llm-platform-custom-demo
java·人工智能·spring
技术路上的探险家15 分钟前
Sa-Token 单点登录(SSO)三种模式大白话详解:告别重复登录
java·sa-token·单点登录·sso
JAVA社区26 分钟前
Java进阶全套教程(四)—— SpringMVC框架详解
java·开发语言·spring·面试·职场和发展
ㄣ知冷煖★26 分钟前
统一网关架构实践:从 Token 鉴权到路由、策略与凭证池转发全链路解析
java·服务器·架构
Lumbrologist31 分钟前
【C++】零基础入门 · 第 2 节:变量、基本数据类型与输入输出
java·开发语言·c++
GISer_Jing32 分钟前
Three.JS渲染架构解读
java·javascript·架构
绝知此事42 分钟前
Netty实战:从零构建高性能TCP通信服务(含心跳检测)
java·网络·spring boot·网络协议·tcp/ip
Dicky-_-zhang1 小时前
分布式事务解决方案TCC实战
java·jvm