Mac已安装JDK仍提示java: command not found求助
解决Mac上'java: command not found'问题的排查步骤
别急,我之前在Mac上也碰到过一模一样的问题,折腾了好半天,咱们一步步来排查:
1. 先确认你的.bashrc配置是否正确
打开你的~/.bashrc文件,检查是否包含以下两行(注意路径要和/usr/libexec/java_home输出的完全一致):
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk-9.0.4.jdk/Contents/Home export PATH=$JAVA_HOME/bin:$PATH
- 重点检查:路径有没有拼写错误、有没有多余的空格
- 确保
$JAVA_HOME/bin放在$PATH的前面,这样系统会优先用你安装的JDK,而不是其他可能存在的无效java命令
2. 检查当前终端用的是什么Shell
Mac现在默认终端是zsh,而不是bash!如果你的终端用的是zsh,.bashrc里的配置不会自动加载。执行下面的命令查看当前Shell:
echo $SHELL
如果输出是/bin/zsh,你有两个可选方案:
- 把上述两行配置复制到
~/.zshrc文件里,然后执行source ~/.zshrc让配置生效 - 在
~/.zshrc末尾添加一行source ~/.bashrc,让zsh自动加载bash的配置文件
3. 验证环境变量是否生效
不管你用的是bash还是zsh,执行以下命令检查配置是否生效:
echo $JAVA_HOME echo $PATH
- 查看
$JAVA_HOME的输出是不是你设置的JDK路径 - 查看
$PATH里有没有包含/Library/Java/JavaVirtualMachines/jdk-9.0.4.jdk/Contents/Home/bin
如果输出不符合预期,手动加载配置文件试试:
- bash用户:执行
source ~/.bashrc - zsh用户:执行
source ~/.zshrc
4. 直接验证JDK本身是否正常
如果上面的配置都没问题,但还是报错,先确认JDK本身能正常运行:
/Library/Java/JavaVirtualMachines/jdk-9.0.4.jdk/Contents/Home/bin/java -version
- 如果这个命令能正常输出Java版本,说明JDK没问题,就是环境变量的加载问题
- 如果这个也报错,那可能你的JDK安装有问题,需要重新下载安装
5. 最后重启终端试试
有时候配置生效需要重启终端,别嫌麻烦,关掉所有终端窗口再重新打开,然后执行java -version看看能不能正常运行。
内容的提问来源于stack exchange,提问作者rsp
相关产品推荐
相关产品推荐

