jenv实现mac下多版本jdk管理以及切换

文章目录

背景

多个java项目使用jdk版本不一样,mac机器下需要实现多版本的jdk管理. 使用工具jenv

jdk多版本管理

  1. oracle javase 官网选择合适的jdk版本,比如 我使用jdk11 下载正确的 macOS Arm 64 dmg 版本. 然后在mac系统下双击dmg包进行安装. 安装好之后jdk路径为 /Library/Java/JavaVirtualMachines/jdk-17.jdk
  2. 使用指令 jenv add /Library/Java/JavaVirtualMachines/jdk-17.jdk/Contents/Home 添加到jenv. 使用 jenv versions 就可以查看到此版本jdk成功安装.
  3. jenv切换当前Jdk到新安装的17版本,使用指令 jenv local 17 进行版本切换, 查看 JAVA_HOME 环境变量 ~/.jenv/versions/17. 至此实现jenv对jdk多版本的控制以及切换.

开发环境配置

如果你只是用maven对项目进行构建,开发过程中不使用idea,那么这里只需要配置好maven使用的jdk版本即可:

先使用 jenv local 17 切换到你使用的jdk版本,在运行 mvn -v可以确定当前maven使用的版本是jdk17

如果你使用的是idea开发java项目,那么配置的地方就耀注意了:

  1. idea jdk追加: File->Project Structure->SDKS->Add SDK: /Library/Java/JavaVirtualMachines/jdk-17.jdk/Contents/Home 到mac上安装的jdk版本的home目录.
  2. idea配置项目的jdk: File-Project Structure->Project SDK 和Language Level 配置正确;然后 File-Project Structure->Modules Source 和Dependencies配置正确.
  3. idea maven: Settings->Build Tools->Maven: Maven home: /usr/local/apache-maven-3.9.4 到maven安装根目录.其次是importing 中的 JDK for importer 配置正确jdk版本, runner 中的JRE 配置正确版本.
相关推荐
jimy13 分钟前
C++ 中 xvalue 的 identity 存在哪里?和 lvalue 的 identity 有什么区别?
开发语言·c++·1024程序员节
yujunl10 分钟前
U9 无授权的模式WebAPI开发的总结
开发语言·1024程序员节
zzu123zsw14 分钟前
为什么 Python 做 Agent 总在并发中崩溃?拆解 Blockcell 在 Rust 下的 Host-Cell 隔离与自愈状态机
开发语言·python·rust·大模型·ai agent
xiaoye-duck43 分钟前
《C++ 项目:手写大模型接入 SDK》Provider分析与实现
开发语言·c++·语言模型
Mr-Wanter1 小时前
Spring Boot 接口签名实践
java·spring boot
denlaku1 小时前
JDK 22 新特性详解
java·开发语言
余槐i1 小时前
开虚拟线程后接口反而更慢:JDK 21 synchronized 锁住载体线程的排查
java·spring boot·redis·mysql·性能优化
“AI国潮设计-小江”2 小时前
AIGC实战:Python+SDXL批量生成英歌舞IP立牌,解锁猪猪蛋糕“反差萌”流量密码(附完整API源码)
开发语言·人工智能·python·prompt·aigc
Sirens.2 小时前
网络通信基础:IP、端口、协议分层与数据封装
java·网络·网络协议·tcp/ip·java-ee·1024程序员节
H.莓飛2 小时前
【数据结构】排序_OJ题(二):划分与选择
linux·服务器·c语言·开发语言·数据结构·visual studio