You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为Apple Silicon安装Java 19 JVM?解决Homebrew升级版本问题

解决Homebrew下Java 19被升级到20后的Gradle构建问题

问题背景

通过Homebrew安装的Java 19被标记为openjdk而非openjdk@19,后续安装ffmpeg时,Homebrew自动将openjdk升级到Java 20。现在Gradle无法使用Java 20完成构建,尝试安装openjdk@19时,Homebrew提示openjdk 19.0.2已安装,但系统中实际运行的是Java 20,且Oracle官网仅提供Java 17和20的下载。

相关命令输出:

$ brew list
...
openjdk 
openjdk@17
...

$ brew install openjdk@19
Warning: openjdk 19.0.2 is already installed and up-to-date.
To reinstall 19.0.2, run:
  brew reinstall openjdk

解决步骤

1. 确认已安装的OpenJDK版本

先查看Homebrew中已存储的OpenJDK版本记录:

brew list --versions openjdk

如果输出中包含19.0.2,说明该版本仍保存在本地,只是未被激活。

2. 切换到Java 19版本

方法一:使用brew切换版本(适用于支持switch命令的Homebrew版本)

执行命令切换到19.0.2版本:

brew switch openjdk 19.0.2

方法二:手动设置JAVA_HOME(通用方法)

如果switch命令不可用,直接指定Java 19的安装路径:

  1. 找到Java 19的安装目录,通常为:
    /usr/local/Cellar/openjdk/19.0.2/libexec/openjdk.jdk/Contents/Home
    
  2. 临时生效(当前终端会话):
    export JAVA_HOME=/usr/local/Cellar/openjdk/19.0.2/libexec/openjdk.jdk/Contents/Home
    export PATH=$JAVA_HOME/bin:$PATH
    
  3. 永久生效(添加到shell配置文件,如~/.zshrc或~/.bashrc):
    在配置文件末尾添加上述两行命令,保存后执行source ~/.zshrc或source ~/.bashrc使变更生效。

3. 验证切换结果

执行以下命令确认当前Java版本:

java -version

如果输出显示openjdk version "19.0.2",说明切换成功,此时Gradle即可正常使用Java 19进行构建。

4. 阻止Homebrew自动升级OpenJDK

为避免后续安装其他软件时再次自动升级Java,可将openjdk固定为当前版本:

brew pin openjdk

若之后需要升级,执行brew unpin openjdk即可解除固定。

内容的提问来源于stack exchange,提问作者Duncan McGregor

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.22 05:00:12