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

相关推荐
Goldn.4 小时前
Java核心技术栈全景解析:从Web开发到AI融合
java· spring boot· 微服务· ai· jvm· maven· hibernate
李慕婉学姐5 小时前
【开题答辩过程】以《基于Android的出租车运行监测系统设计与实现》为例,不知道这个选题怎么做的,不知道这个选题怎么开题答辩的可以进来看看
java·后端·vue
m0_740043735 小时前
SpringBoot05-配置文件-热加载/日志框架slf4j/接口文档工具Swagger/Knife4j
java·spring boot·后端·log4j
编织幻境的妖5 小时前
SQL查询连续登录用户方法详解
java·数据库·sql
未若君雅裁5 小时前
JVM面试篇总结
java·jvm·面试
kk哥88996 小时前
C++ 对象 核心介绍
java·jvm·c++
招风的黑耳6 小时前
我用SpringBoot撸了一个智慧水务监控平台
java·spring boot·后端
xunyan62346 小时前
面向对象(下)-接口的理解
java·开发语言
程序员游老板6 小时前
基于SpringBoot3+vue3的爱心陪诊平台
java·spring boot·毕业设计·软件工程·课程设计·信息与通信
期待のcode6 小时前
Springboot核心构建插件
java·spring boot·后端