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

相关推荐
全靠bug跑15 小时前
Spring Cache 实战:核心注解详解与缓存过期时间配置
java·redis·springcache
聆风吟º15 小时前
【数据结构手札】空间复杂度详解:概念 | 习题
java·数据结构·算法
计算机程序设计小李同学16 小时前
基于SpringBoot的个性化穿搭推荐及交流平台
java·spring boot·后端
是一个Bug16 小时前
50道核心JVM面试题
java·开发语言·面试
朱朱没烦恼yeye16 小时前
java基础学习
java·python·学习
她和夏天一样热16 小时前
【观后感】Java线程池实现原理及其在美团业务中的实践
java·开发语言·jvm
郑州光合科技余经理16 小时前
技术架构:上门服务APP海外版源码部署
java·大数据·开发语言·前端·架构·uni-app·php
篱笆院的狗17 小时前
Java 中的 DelayQueue 和 ScheduledThreadPool 有什么区别?
java·开发语言
2501_9418091417 小时前
面向多活架构与数据地域隔离的互联网系统设计思考与多语言工程实现实践分享记录
java·开发语言·python
qualifying17 小时前
JavaEE——多线程(4)
java·开发语言·java-ee