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

 更新时间:2025年08月18日 08:44:26   作者:Allocator  
文章介绍在Mac上使用jenv管理多版本JDK的方法,包括下载安装指定JDK版本、配置环境变量及切换操作,同时说明Maven和IDEA的JDK配置步骤,确保不同项目使用正确版本,涉及路径设置、项目SDK及Maven参数配置

背景

多个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 SDKLanguage Level配置正确;然后 File-Project Structure->Modules SourceDependencies配置正确。
  3. idea maven: Settings->Build Tools->Maven: Maven home: /usr/local/apache-maven-3.9.4到maven安装根目录.其次是importing 中的 JDK for importer 配置正确jdk版本, runner 中的JRE 配置正确版本。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 利用Java实现在PDF中添加工具提示

    利用Java实现在PDF中添加工具提示

    这篇文章主要介绍了如何通过Java在PDF中添加工具提示,文中的示例代码讲解详细,对我们学习或工作有一定的参考价值,感兴趣的可以学习一下
    2022-01-01
  • 在Spring中编写事务的介绍

    在Spring中编写事务的介绍

    今天小编就为大家分享一篇关于在Spring中编写事务的介绍,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-01-01
  • Spring cloud Gateway简介及相关配置方法

    Spring cloud Gateway简介及相关配置方法

    这篇文章主要介绍了Spring cloud Gateway简介及相关配置方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-04-04
  • Java TimedCache 带时间缓存工具类详解使用

    Java TimedCache 带时间缓存工具类详解使用

    工具类是包含集合框架、遗留的 collection 类、事件模型、日期和时间设施、国际化和各种实用工具类(字符串标记生成器、随机数生成器和位数组、日期Date类、堆栈Stack类、向量Vector类等)。集合类、时间处理模式、日期工具等各类常用工具包,本文将介绍带时间缓存工具类
    2021-10-10
  • java过滤html标签获取纯文本信息的实例

    java过滤html标签获取纯文本信息的实例

    今天小编就为大家分享一篇java过滤html标签获取纯文本信息的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-05-05
  • MyBatis快速入门之环境搭建和单表映射

    MyBatis快速入门之环境搭建和单表映射

    一说起对象关系映射框架,大家第一时间想到的肯定是Hibernate。Hibernate作为一个著名的框架,功能十分强大。但是由于Hibernate如此强大的功能,导致了它的缺点。好吧,不多说了,具体详情大家通过本文一起学习吧
    2017-03-03
  • springboot整合过滤器实战步骤

    springboot整合过滤器实战步骤

    在项目开发过程中,过滤器或者拦截器几乎是必用的,他可以很方便的完成类似日志处理、token验证等一系列操作,区别于业务接口,独立进行处理,感觉就是一种Aop思想。下面模拟请求接口前的token验证,进行过滤器的实战
    2022-04-04
  • 使用Assembly打包和部署SpringBoot工程方式

    使用Assembly打包和部署SpringBoot工程方式

    文章介绍了SpringBoot项目的两种部署方式:Docker容器部署和FatJar直接部署,FatJar部署存在配置文件隐藏和启动脚本复杂的问题,而Assembly打包方式可以解决这些问题,使得SpringBoot能够加载jar外的配置文件并提供服务化的启动脚本
    2024-12-12
  • Java RMI机制讲解

    Java RMI机制讲解

    这篇文章主要介绍了Java RMI机制讲解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-07-07
  • Springmvc异常处理器及拦截器实现代码

    Springmvc异常处理器及拦截器实现代码

    这篇文章主要介绍了Springmvc异常处理器及拦截器实现代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-10-10

最新评论