macOS 多 Java 版本管理(jenv 方案)

news/2025/9/27 12:22:37/文章来源:https://www.cnblogs.com/lyn8100/p/19114953

目录
  • 一、目标
  • 二、查看已安装的 JDK
  • 三、使用 jenv 管理 Java 版本
    • 1. 安装 jenv
    • 2. 配置 Shell 环境
    • 3. 添加已安装的 JDK
    • 4. 查看可用版本
    • 5. 切换 Java 版本
    • 6. 验证版本
  • 四、常见问题
    • 1. 权限问题
    • 2. Shell 配置文件选择错误
  • 五、注意事项
  • 六、附录:常见 JDK 安装路径


一、目标

在 macOS 系统中通过 jenv 管理多个 Java 版本,实现灵活切换。


二、查看已安装的 JDK

/usr/libexec/java_home -V

输出示例

Matching Java Virtual Machines (3):17.0.15 (arm64) "Oracle Corporation" - "Java SE 17.0.15" /Library/Java/JavaVirtualMachines/jdk-17.jdk/Contents/Home1.8.381.09 (arm64) "Oracle Corporation" - "Java" /Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home1.8.0_381 (arm64) "Oracle Corporation" - "Java SE 8" /Library/Java/JavaVirtualMachines/jdk-1.8.jdk/Contents/Home

注意

  • /Library/Java/JavaVirtualMachines/jdk-1.x.x.jdk/Contents/Home 是完整的 JDK 安装路径,推荐用于开发。
  • /Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home 是浏览器插件路径,不建议用于开发

三、使用 jenv 管理 Java 版本

1. 安装 jenv

brew install jenv

2. 配置 Shell 环境

  • Zsh 用户(macOS 默认):

    echo 'export PATH="$HOME/.jenv/bin:$PATH"' >> ~/.zshrc
    echo 'eval "$(jenv init -)"' >> ~/.zshrc
    source ~/.zshrc
    
  • Bash 用户

    echo 'export PATH="$HOME/.jenv/bin:$PATH"' >> ~/.bash_profile
    echo 'eval "$(jenv init -)"' >> ~/.bash_profile
    source ~/.bash_profile
    

3. 添加已安装的 JDK

jenv add /Library/Java/JavaVirtualMachines/jdk-1.8.jdk/Contents/Home
jenv add /Library/Java/JavaVirtualMachines/jdk-17.jdk/Contents/Home

4. 查看可用版本

jenv versions

5. 切换 Java 版本

  • 全局切换

    jenv global 17
    
  • 当前目录切换

    jenv local 1.8
    

6. 验证版本

java -version

四、常见问题

1. 权限问题

  • 错误示例

    zsh: permission denied: ~/.bash_profile
    
  • 解决方法

    1. 使用 open -e ~/.bash_profile 编辑文件(若文件不存在会自动创建)。

    2. 修改文件权限:

      chmod 644 ~/.bash_profile
      

2. Shell 配置文件选择错误

  • Zsh 用户:使用 .zshrc.zsh_profile

  • Bash 用户:使用 .bash_profile.bashrc

  • 检查当前 Shell

    echo $SHELL
    

五、注意事项

  1. 路径一致性jenv add 的路径需与实际 JDK 安装路径一致(可通过 /usr/libexec/java_home -V 查看)。

  2. 生效方式:修改配置后需运行 source ~/.zshrc 或重启终端。

  3. IDE 配置:IntelliJ IDEA 等 IDE 需手动指定 JDK 路径,与系统环境无关。

  4. 卸载 jenv

    brew uninstall jenv
    

六、附录:常见 JDK 安装路径

# JDK 8
/Library/Java/JavaVirtualMachines/jdk-1.8.jdk/Contents/Home# JDK 17
/Library/Java/JavaVirtualMachines/jdk-17.jdk/Contents/Home

通过以上方法,你可以轻松管理多个 Java 版本,并根据项目需求灵活切换!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/919449.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

龙口网站制作价格衡阳网站建设技术外包

操作: 是时机函数,在页面加载前,可以在这两个函数里面做一些事情, 比如发送异步请求。 类似过滤器,或者拦截器。1. axios安装 安装报错,多装几遍,或者用cnpm安装 npm install axios -s npm in…

怎么提高网站关键字排名网站怎么做360免费优化

在数字化浪潮席卷全球的今天,跨境电商业务蓬勃发展,成为推动国际贸易增长的重要引擎。亚马逊,作为全球最大的电商平台之一,以其独特的平台特点和全球化布局,为卖家和买家提供了便捷、高效的交易环境,成为众…

广州搜索seo网站优化建设银行网站字体

免责声明: 本文旨在提供有关特定漏洞的深入信息,帮助用户充分了解潜在的安全风险。发布此信息的目的在于提升网络安全意识和推动技术进步,未经授权访问系统、网络或应用程序,可能会导致法律责任或严重后果。因此,作者不对读者基于本文内容所采取的任何行为承担责任。读者在…

AI 落地教育智慧招生:从 “热线占线” 到 “724 小时精准应答” 的实践分享

AI 落地教育智慧招生:从 “热线占线” 到 “724 小时精准应答” 的实践分享在教育招生季,家长对 “报名时间”“学区范围”“学校特色” 的咨询需求集中爆发,而传统招生咨询模式往往陷入 “家长急、老师累、效率低”…

软件技术基础第一次课程

这个作业属于哪个课程 https://edu.cnblogs.com/campus/zjlg/25rjjc 这个作业的目标 初步学习博客的发文方法,进行自我评估,有初步的认知 姓名-学号 林靖迪- 2023329301118自我介绍与自我评估自我介绍 我叫林靖迪,是…

服装网站策划设计重庆手机网站制作价格

过几天就要回家了,剩下的工作还有一点没有完成.不过已经是无关大碍了.突然有种很烦的感觉.想想这个暑假的时间里面自己也算是经历不少了,可是回忆一下自己到底收获了什么,脑子里面却是一片空白,什么都想不到.本来是要动笔写篇"我的深圳之行"之类的东西的,可是却没有一…

做网站推广怎么找客户临安区做网站的公司

实现一个标准型计算器及其各项功能的实现 效果图欣赏 是不是看起来很漂亮的呢??? 功能详解: 屏幕显示输入的数字和符号实现加减乘除运算回退和清零功能小数的运算结果的输出 相信小伙伴们都已经迫不及待的想要知道源码了。 代…

石子合并(一排的和一个环的)

石子合并 石子合并是环形dp的经典题,要做它我们首先要做它的弱化版,也就是排成一排的情况:石子合并(弱化版)(洛谷p1775) 石子合并弱化版解法 对于这道题,可以先从简单的情况开始考虑;比如现在要合并a,b,c三堆…

思维题练习

思维题题解合集本文选取题目源于此处,以及一些平时的好的思维题。 大体按照主观难度排序。[FJCPC 2025] 构造大师贝贝 注意到 \(T\leq1000\),但是 \(n\leq10^{12}\)。那么从时间复杂度的角度考虑,应当为一个类似于 …

NXP - 用MCUXpresso IDE导入lpcopen_2_10_lpcxpresso_nxp_lpcxpresso_1769.zip中的工程 - 教程

NXP - 用MCUXpresso IDE导入lpcopen_2_10_lpcxpresso_nxp_lpcxpresso_1769.zip中的工程 - 教程pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !imp…

US$42 BDM01 Adapter for Yanhua Mini ACDP Module1 BMW CAS1-CAS4+

BDM01 Adapter for Yanhua Mini ACDP Module1 BMW CAS1-CAS4+Package List:1pc x BDM01 Adapter for Yanhua Mini ACDP Module1 Pictures of BDM01 Adapter for Yanhua Mini ACDP Module1 BMW CAS1-CAS4+BDM01 Adapter…

江苏网站集约化建设frontpage怎么改网站名字

教你快速上手AI应用——吴恩达AI系列教程 人工智能风靡全球,它的应用已经渗透到我们生活的方方面面,从自动驾驶到智能家居,再到医疗辅助和量化交易等等。他们逐渐改变了我们的生活方式,然而,对于许多人来说,AI仍然是一个神秘且无法理解的领域。 为了帮助更多的人理解并掌握AI…

北京网站案例站长统计app软件

前言 Perfectly Clear WorkBench 是一款图像修复工具,可以帮助用户对自己的图片素材进行修复,很多的照片因为拍摄问题,或者设备限制,会导致拍摄效果不好,使用这款软件可以进行一定程度的修复,当拍摄时亮度…

spatial项目的主要领导者斯坦福大学ppl实验室的 Kunle Olukotun 教授和 Christos Kozyrakis 教授

Kunle Olukotun 教授是一位出身于印度的计算机科学家,他的知名成就是开创了多核处理器的先河。标签是 Sun 公司的 Niagara 系列多核处理器,当时大家都还在单核上混。Olukotun团队的解决方案:他们提出了 芯片多处理器…

程序杂谈:概述

程序语言是一切计算机程序的载体,可谓是计算机技术的核心。 这个世界上有各种各样的程序语言,本合集将介绍尽可能多的、著名的程序设计语言。了解更多的程序语言(以及背后的哲学、生态)有助于技术选型。选择正确的…

字符串基础

字符串Hash我们定义一个把字符串映射到整数的函数 \(f\) ,这个 \(f\) 称为是 \(Hash\) 数。 我们希望这个函数 \(f\) 可以方便地帮我们判断两个字符串是否相等。基础公式: $f(s)= {\textstyle \sum_{i=1}^{l}} s[i]…

免费微网站建设网站关键字字数

王江民,中国最早的反病毒专家,被业界尊称“中国杀毒软件之父”、“中国反病毒第一人。以38岁为分界,王江民的前半生,是中国青年身残志坚的楷模,他的后半生是中国安全软件的奠基人,带领中国商用软件第一个走…

营销型网站建设有哪些官方网站建设必要性

题干&#xff1a; 分东西 时间限制&#xff1a;1000 ms | 内存限制&#xff1a;65535 KB 难度&#xff1a;1 输入 第一行输出一个数i表示有i组情况&#xff08;0<i<10&#xff09; 接下来的i行&#xff0c;每一行输入两个个数M(0<M<1000000)和N(0<N<2…

Kubernetes 进阶实战:CRD、Gateway API 与优先级调度 - 实践

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

初识MYSQL —— 数据库基础 - 指南

初识MYSQL —— 数据库基础 - 指南pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco&…