Java默认版本由PATH中首个java/javac路径决定,需设JAVA_HOME指向JDK根目录并使%JAVA_HOME%\bin(Windows)或$JAVA_HOME/bin(macOS/Linux)置于PATH最前,再验证java -version与javac -version版本一致。

Java中配置JRE与JDK默认版本,本质是控制java、javac等命令实际调用的路径。系统不区分“JRE默认”和“JDK默认”,而是通过PATH环境变量顺序决定哪个bin目录优先被找到——谁在前面,谁就是“默认”。真正需要设置的是JAVA_HOME(供其他工具如Maven、IDE识别JDK根目录),以及确保PATH指向你想要的JDK的bin目录。
确认已安装的JDK/JRE位置
先查清本地有哪些Java版本,避免配错路径:
- Windows:打开命令提示符,执行
where java和where javac,看输出路径是否一致;再运行java -version和javac -version,核对版本号 -
macOS/Linux:终端执行
which java、which javac,再用/path/to/java -version验证具体版本;也可用/usr/libexec/java_home -V(macOS)或update-java-alternatives -l(部分Linux发行版)列出所有已注册JDK
设置JAVA_HOME并更新PATH(关键步骤)
JAVA_HOME 应指向JDK安装根目录(不含bin),不是JRE目录。PATH则必须包含$JAVA_HOME/bin(Windows为%JAVA_HOME%\bin)且放在最前:
- Windows(系统级):右键“此电脑”→属性→高级系统设置→环境变量→新建系统变量
JAVA_HOME,值填类似C:\Program Files\Java\jdk-17.0.1;再编辑Path,把%JAVA_HOME%\bin移到最顶端 - macOS/Linux(推荐写入
~/.zshrc或~/.bash_profile):export JAVA_HOME=$(/usr/libexec/java_home -v 17)export PATH=$JAVA_HOME/bin:$PATH
保存后执行source ~/.zshrc生效
验证是否生效
关闭所有终端/命令行窗口,新开一个,依次执行:
立即学习“Java免费学习笔记(深入)”;
-
echo $JAVA_HOME(macOS/Linux)或echo %JAVA_HOME%(Windows)→ 应显示你设定的JDK路径 -
java -version→ 显示JDK自带的JRE版本(如17.0.1) -
javac -version→ 必须显示相同主版本号(如17.0.1),否则说明PATH没指向JDK的bin,可能误指到了JRE的bin或旧版本
多版本共存时的快速切换(可选)
不需要卸载旧版本,靠修改JAVA_HOME和PATH即可切换。进阶用户可用工具简化操作:
- macOS:直接用
/usr/libexec/java_home -v 11获取JDK 11路径,再赋值给JAVA_HOME - Linux(Debian/Ubuntu系):安装
openjdk-11-jdk和openjdk-17-jdk后,用sudo update-alternatives --config java和--config javac交互式切换 - Windows:写几个批处理脚本(如
setjdk11.bat),内容为set JAVA_HOME=C:\...\jdk-11+set PATH=%JAVA_HOME%\bin;%PATH%,双击运行即刻切换(仅当前窗口有效)
基本上就这些。核心就两点:JAVA_HOME指向正确的JDK根目录,PATH开头包含它的bin。别把JRE路径当JDK用,也别漏掉PATH里的bin——这两处错得最多。










