mac 切换java版本

通过/usr/libexec/java_home-V查看已安装的Java版本,使用export命令配合java_home指定版本,如exportJAVA_HOME=$(/usr/libexec/java_home-v1.8.0)。若要持久切换,需在.bash_profile或.zshrc文件中添加相关代码,并执行source命令使改动生效。

之前有下载多个版本的jdk,切换版本用的是最常用的,bash_profile设置环境变量,切换的时候,修改路径。但是最近发现不太行了,哪怕修改路径,还是显示jdk17,导致有些操作进行不了,再查找资料的时候,发下如下方法可以解决此问题,特意记录。

首先运行 /usr/libexec/java_home -V 查看本机存在哪些java版本

Matching Java Virtual Machines (3):
    17.0.4 (arm64) "Azul Systems, Inc." - "Zulu 17.36.13" /Library/Java/JavaVirtualMachines/zulu-17.jdk/Contents/Home
    11.0.18 (arm64) "Azul Systems, Inc." - "Zulu 11.62.17" /Library/Java/JavaVirtualMachines/zulu-11.jdk/Contents/Home
    1.8.0_332 (arm64) "Azul Systems, Inc." - "Zulu 8.62.0.19" /Library/Java/JavaVirtualMachines/zulu-8.jdk/Contents/Home
/Library/Java/JavaVirtualMachines/zulu-17.jdk/Contents/Home

选择想切换的版本(如1.8.0_332)然后:

export JAVA_HOME=`/usr/libexec/java_home -v 1.8.0_332`

或者可以只指定主要版本,例如

export JAVA_HOME=`/usr/libexec/java_home -v 1.8.0`

运行 java -version :

openjdk version "1.8.0_332"
OpenJDK Runtime Environment (Zulu 8.62.0.19-CA-macos-aarch64) (build 1.8.0_332-b09)
OpenJDK 64-Bit Server VM (Zulu 8.62.0.19-CA-macos-aarch64) (build 25.332-b09, mixed mode)

这种只支持当前窗口使用,持久使用,需要在环境变量配置文件进行修改
~/.bash_profile 或者 ~/.zshrc文件中添加如下代码:

export JAVA_HOME=$(/usr/libexec/java_home -v 1.8.0)

保存确认退出后,使环境变量生效

source ~/.bash_profile  

现在最新的mac基本都是zsh,如果不想修改zshrc的内容,可以在zshrc文件内添加

source ~/.bash_profile 
保存退出,并执行
source ~/.zshrc

这样就可以实现版本的切换,还是比较方便的

### 如何在 macOS切换 Java 版本macOS切换 Java 版本可以通过多种方法实现,以下是详细的说明: #### 使用 `/usr/libexec/java_home` 命令 macOS 提供了一个内置命令 `/usr/libexec/java_home` 来帮助用户管理和切换不同版本Java。执行以下命令可以查看系统中已安装的所有 Java 版本及其路径: ```bash /usr/libexec/java_home -V ``` 此命令会列出所有可用的 JDK 安装路径[^2]。 找到目标 Java 版本后,可通过 `export JAVA_HOME` 设置默认使用的 Java 路径。例如,假设需要切换到 OpenJDK 8,则可以在终端中运行如下命令: ```bash export JAVA_HOME=/Library/Java/JavaVirtualMachines/openjdk-8.jdk/Contents/Home ``` 为了验证设置是否生效,可运行以下命令检查当前正在使用的 Java 版本: ```bash java -version ``` 如果希望每次启动终端时都自动加载指定的 Java 版本,需将上述 `export JAVA_HOME` 命令添加至用户的 shell 配置文件中(如 `.bash_profile` 或 `.zshrc`)。编辑配置文件并保存更改后,重新加载配置即可使修改生效: ```bash echo 'export JAVA_HOME=/Library/Java/JavaVirtualMachines/openjdk-8.jdk/Contents/Home' >> ~/.zshrc source ~/.zshrc ``` #### 使用 SDKMAN! 工具管理多版本 Java SDKMAN 是一款流行的开发工具管理器,支持轻松安装和切换不同的 Java 版本以及其他编程语言框架。通过 SDKMAN 可以更便捷地完成 Java版本管理操作[^3]。 首先确认已经安装好 SDKMAN! 后,按照下面方式下载所需版本Java 并激活它作为默认选项: ```bash sdk install java 8.0.412.fx-zulu sdk use java 8 ``` 这里选择了带有 JavaFX 支持的 Zulu 发行版,便于某些依赖于图形界面的应用程序开发需求。 最后再次调用 `java -version` 查看实际效果。 --- ### 注意事项 当存在多个开发者或者团队协作项目时,可能每个人的工作环境中所采用的具体 JDK 类型有所不同;因此,在跨平台共享代码前务必明确统一标准,并告知其他成员如何正确调整自己的机器环境匹配一致。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值