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

相关推荐
奋斗的小方几秒前
01 一文读懂UML类图:核心概念与关系详解
java·uml
长安城没有风5 分钟前
Java 高并发核心编程 ----- 线程池原理与实践(上)
java·juc
Remember_9935 分钟前
Spring 核心原理深度解析:Bean 作用域、生命周期与 Spring Boot 自动配置
java·前端·spring boot·后端·spring·面试
风流倜傥唐伯虎10 分钟前
java多线程打印
java·多线程
80530单词突击赢14 分钟前
云原生时代:.NET与Java的K8s进化论
java
hhy_smile16 分钟前
Special method in class
java·开发语言
我命由我1234520 分钟前
Android 开发 Room 数据库升级问题:A migration from 6 to 7 was required but not found.
android·java·java-ee·android studio·android jetpack·android-studio·android runtime
黄筱筱筱筱筱筱筱21 分钟前
7.适合新手小白学习Python的异常处理(Exception)
java·前端·数据库·python
Stecurry_3024 分钟前
Springboot整合SpringMVC --从0到1
java·spring boot·后端
Serene_Dream24 分钟前
NIO 的底层机理
java·jvm·nio·mmap