普通开发推荐下载jdk-xx_windows-x64_bin.exe安装包并勾选“Add to PATH”;需多版本共存则选.zip包手动配置JAVA_HOME和PATH,且务必验证javac -version与where命令结果一致。

下载JDK时该选哪个版本和安装包
Windows上装JDK,核心是避开jdk-xx_windows-x64_bin.exe和jdk-xx_windows-x64_bin.zip的混淆。前者是带自动配置向导的安装程序,后者是免安装压缩包——但很多人误以为“免安装=不用配环境变量”,结果java -version报错。
- 普通开发推荐用
.exe安装包:它默认把JDK装进C:\Program Files\Java\jdk-xx,且可勾选“Add to PATH”(但不建议勾选,原因见下条) - 需要多版本共存(比如同时用JDK 8和JDK 17),必须用
.zip包,解压到自定义路径如D:\jdk8、D:\jdk17,再手动配JAVA_HOME和PATH - 注意官网下载页里带
LTS标识的才是长期支持版(如21.0.1或17.0.9),非LTS版(如22)半年后就停更,别在生产环境用
配置JAVA\_HOME和PATH的顺序与写法
Windows环境变量配置错误,90%出在JAVA_HOME值末尾多了反斜杠,或PATH里写了%JAVA_HOME%\bin却没先定义JAVA_HOME。
-
JAVA_HOME必须指向JDK根目录,不是bin子目录:正确值是C:\Program Files\Java\jdk-21.0.1,错误写法是C:\Program Files\Java\jdk-21.0.1\bin\ -
PATH中添加的是%JAVA_HOME%\bin,不是绝对路径;且这条必须放在PATH最前面,否则可能被旧版JRE的java.exe劫持 - 改完环境变量后,**必须关闭所有已打开的命令行窗口**,新开cmd或PowerShell才能生效;用
echo %JAVA_HOME%和java -version双验证
验证安装是否成功的三个关键命令
只跑java -version不够,它可能调用的是系统自带JRE而非你刚装的JDK。真正要确认的是编译器和工具链是否就位。
-
java -version:看运行时版本,输出应含jdk字样(如Java HotSpot(TM) 64-Bit Server VM 21.0.1) -
javac -version:必须能执行且版本号与java一致,否则JAVA_HOME或PATH配错了 -
where java和where javac:Windows特有命令,分别列出所有匹配路径;两个命令返回的第一行路径应该完全相同,且都落在%JAVA_HOME%\bin下
IDE(如IntelliJ / Eclipse)仍提示“Cannot resolve JDK”怎么办
IDE不读系统环境变量,而是用自己的JDK配置。即使命令行一切正常,IDE也可能用错SDK。
基于 Internet 的 Web 技术,完全采用B/S 体系结构的网络办公系统。该系统具有安全性高、功能极为强大、可在广域网中使用也可在局域网中使用、也可以同时在局域网和广域网中使用的特点,全傻瓜式安装,无需作复杂配置,界面采用类似windows资源管理器的设计,结构清晰,条理分明,即使不熟悉电脑的人也可很快掌握全部操作。该系统通过在广域网内的广泛试用验证和经专业技术人员的调试、测试,确认具有很
立即学习“Java免费学习笔记(深入)”;
- IntelliJ:File → Project Structure → Project → Project SDK → 点
+→ Add JDK → 选C:\Program Files\Java\jdk-21.0.1目录(不是bin) - Eclipse:Window → Preferences → Java → Installed JREs → Add → Standard VM → Next → JRE home填JDK路径 → Finish
- 关键点:IDE里配置的路径必须和
JAVA_HOME值一致;如果用了.zip包解压安装,就选解压后的完整文件夹,别选bin或jre子目录
# 一个快速验证脚本(保存为check_java.bat,双击运行) @echo off echo === JAVA_HOME === echo %JAVA_HOME% echo. echo === java version === java -version echo. echo === javac version === javac -version echo. echo === where java === where java echo. echo === where javac === where javac pause
JDK安装本身不难,难的是环境变量和IDE配置之间存在两套独立逻辑,而且Windows对路径末尾反斜杠、空格、大小写不敏感等特性会掩盖真实问题。最容易被忽略的是:改完系统变量后没重启终端,或者IDE里选了JRE而不是JDK目录。









