M1 macOS下Homebrew安装Java 19后版本显示为11的问题求助
解决M1 macOS上Java版本不一致的问题
问题原因
Homebrew安装的OpenJDK 19是keg-only模式(仅存放在Homebrew的Cellar目录,不会自动链接到系统全局路径),而你系统里已有的Corretto 11路径优先级更高,所以执行java --version时调用的还是旧版本。
解决步骤
1. 让OpenJDK 19路径优先级最高
执行brew给出的命令,把OpenJDK 19的bin目录加到PATH最前面:
echo 'export PATH="/usr/local/opt/openjdk/bin:$PATH"' >> ~/.zshrc
接着让当前shell立刻生效新配置:
source ~/.zshrc
2. 让系统Java工具识别OpenJDK 19
执行sudo命令,把OpenJDK 19的JDK文件链接到系统默认的JVM目录:
sudo ln -sfn /usr/local/opt/openjdk/libexec/openjdk.jdk /Library/Java/JavaVirtualMachines/openjdk.jdk
输入你的macOS用户密码后执行即可。
3. 验证配置结果
执行以下命令检查版本:
java --version javac --version
如果输出显示openjdk 19.0.1,说明配置成功。
备选方案(若上述步骤无效)
如果还是调用Corretto 11,可能是JAVA_HOME环境变量指向了旧版本,手动设置JAVA_HOME指向OpenJDK 19:
echo 'export JAVA_HOME="/usr/local/opt/openjdk/libexec/openjdk.jdk/Contents/Home"' >> ~/.zshrc source ~/.zshrc
再次验证版本即可。
内容的提问来源于stack exchange,提问作者Theo Deep
相关产品推荐
相关产品推荐

