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

相关推荐
SimonKing9 小时前
GitHub 10万星的OpenCode,正在悄悄改变我们的工作流
java·后端·程序员
Seven9710 小时前
虚拟线程深度解析:轻量并发编程的未来趋势
java
雨中飘荡的记忆20 小时前
ElasticJob分布式调度从入门到实战
java·后端
考虑考虑1 天前
JDK25模块导入声明
java·后端·java ee
_小马快跑_1 天前
Java 的 8 大基本数据类型:为何是不可或缺的设计?
java
Re_zero1 天前
线上日志被清空?这段仅10行的 IO 代码里竟然藏着3个毒瘤
java·后端
洋洋技术笔记1 天前
Spring Boot条件注解详解
java·spring boot
程序员清风2 天前
程序员兼职必看:靠谱软件外包平台挑选指南与避坑清单!
java·后端·面试
皮皮林5512 天前
利用闲置 Mac 从零部署 OpenClaw 教程 !
java
华仔啊2 天前
挖到了 1 个 Java 小特性:var,用完就回不去了
java·后端