mac安装不同版本的maven

各位同学入职不同的公司,有的公司使用的maven版本也有不同的,新手通常自己下载固定的文件,点击【下一步】的去安装,需要频繁的去安装卸载。

该篇文章实乃我的经验总结。

1:使用sdkman

Mac + SDKMAN 管理多套 Maven(和 JDK 一套工具,不用额外装别的)

SDKMAN 不光管 Java,原生支持 Maven 多版本切换,跟切换 JDK 操作语法几乎一模一样,完美适配你不同项目需要不同 Maven 版本的需求。 前提:你现在 sdkman 已经正常可用,jdk8、jdk17 都装好了,若各位同学不懂可以看我之前发布的文章。

1、查看可安装的 maven 版本

bash

复制代码
sdk list maven

会列出所有可用 Maven 版本,常用稳定版:

  • 3.8.8:兼容性很强,老项目、JDK8 首选
  • 3.9.9:新版本,适合 JDK17 + 新项目

3.8.8 老项目/JDK8 黄金稳定版

sdk install maven 3.8.8

3.9.9 新项目/JDK17 稳定版

sdk install maven 3.9.9

2:安装多个版本maven的命令

html 复制代码
# 安装 3.8.8(老项目,jdk8用)
sdk install maven 3.8.8

# 安装 3.9.9(新项目,jdk17用)
sdk install maven 3.9.9

这就是提示你安装成功了,我设置默认为3.9.9

3:Maven 版本切换(和 java 命令格式完全一样)

✅只对**当前这个终端窗口临时生效**,关掉终端就复原

sdk use maven 3.8.8

✅设置全局默认版本,新开终端也是这个版本

sdk default maven 3.9.9

4:验证是否生效

mvn -v

5:查看当前生效的 maven

sdk current maven

6:卸载某个 maven 版本

sdk uninstall maven 3.8.8

7:重要坑点(Mac 开发高频踩坑)

  1. sdkman 安装的 maven 路径~/.sdkman/candidates/maven/ 不要自己另外下载 dmg、brew 再装 maven!不要混用 brew 的 maven,会冲突。全程只用 sdkman 管理。

  2. IDEA 里面一定要注意!

终端切换的 JDK/Maven,不会自动同步给 IDEA! IDEA 需要单独设置:

  • File → Project Structure → Project Settings:选择项目 JDK
  • File → Settings → Build,Execution,Deployment → Build Tools → Maven:选择 Maven home 路径,指向 sdkman 下面对应版本的 maven。
  1. maven 本地仓库 settings.xml sdkman 装的 maven 不会自带 settings.xml。 统一配置仓库:建议自己在 ~/.m2/ 下面放一份settings.xml,所有 maven 版本共用一份镜像配置,不用每个 maven 复制一份。

8:修改maven里面的setting配置文件

/Users/你的姓名/.sdkman/candidates/maven/3.9.9/conf/settings.xml

Users/你的姓名/.sdkman/candidates/maven/ 【其实在这里你就可以看见你安装了两个不同的版本maven】

我的习惯是在这个里面的conf文件下载创建多个不同的setting文件,需要那个就改那个名字,例如setting1,2,使用的时候把1 或者2 删除掉就行了。每次都更改文件夹名称

其他的同学不明白可以单独创建文件夹

/Users/用户名称/.m2/settings‑company.xml

/Users/用户名称//.m2/settings‑mine.xml

我喜欢所有的东西写上注释,节省时间。但是有的时候有的地方不要写注释,对你们未来有帮助

相关推荐
Tisfy10 分钟前
LeetCode 1927.求和游戏:抵消+看最值
java·leetcode·游戏·题解·博弈论
秋饼7 小时前
JDK 27 企业级 AI 服务落地实战:G1 默认、紧凑对象头、后量子 TLS 与 JFR 脱敏全解析
java·ai·技术分享·后端开发
卓怡学长7 小时前
w176基于SpringBoot的医院管理系统
java·spring boot·spring·maven·intellij-idea
lemon_sjdk7 小时前
ObjectProperty
java·开发语言·算法
hh9507 小时前
Agent Plan x DeepSeek Harness:Agent 供应链安全与第三方插件审计
java·开发语言·安全·agent plan·adg成都社区·adg社区
吴声子夜歌7 小时前
Java面试——HBase原理及应用
java·面试·hbase
浪兎兎7 小时前
【Java Web】Servlet + JSP 笔记
java·前端·servlet
吴声子夜歌8 小时前
Java面试——ElasticSearch原理及应用
java·面试·es
lhldsg8 小时前
家政派单系统开发实战:从需求分析到智能调度全流程指南
java·junit·小程序·uni-app·需求分析
吴声子夜歌8 小时前
Java面试——Spring原理及应用(一)
java·spring·面试