必须手动设置JAVA_HOME和CLASSPATH环境变量才能让javac、java全局可用并正确加载类;JAVA_HOME需指向JDK根目录(不含\bin),PATH中添加%JAVA_HOME%\bin,CLASSPATH按需设为.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar。

要在Windows系统中让Java命令行工具(如javac、java)全局可用,并让JVM正确加载自定义类和第三方jar包,必须手动设置JAVA_HOME和CLASSPATH环境变量——这一步跳过会导致“'javac'不是内部或外部命令”或运行时找不到类的报错。
确认JDK已安装并获取真实安装路径
打开文件资源管理器,进入JDK实际安装目录(例如:C:\Program Files\Java\jdk-21),注意不要选错成JRE目录;若不确定,可双击运行javac.exe看是否弹出命令窗口——弹出即为正确JDK目录。若看到“找不到msvcp140.dll”等提示,说明安装不完整,需重装JDK。
右键复制该文件夹路径(不含末尾反斜杠),粘贴记事本备用。路径中含空格是正常的,【JAVA_HOME变量值中绝对不要加英文引号】,否则后续调用会失败。
新建JAVA_HOME系统变量
右键“此电脑” → “属性” → “高级系统设置” → “环境变量” → 在“系统变量”区域点击“新建”。
变量名填:JAVA_HOME;变量值填:刚才复制的JDK根目录(例如:C:\Program Files\Java\jdk-21)。【值必须是JDK根目录,不能带\bin,也不能以\结尾】。
点“确定”保存。这一步完成后,其他工具(如Maven、Tomcat)就能通过%JAVA_HOME%准确找到JDK位置。
将%JAVA_HOME%\bin加入Path
在“系统变量”中找到Path,双击编辑 → 点击“新建” → 输入:%JAVA_HOME%\bin → 点击“上移”,把它拖到Path列表最顶端。
这一步确保java -version和javac -version能在任意cmd窗口中直接执行。如果系统是较旧版Windows 10,发现%JAVA_HOME%引用失效,就改用完整路径(如C:\Program Files\Java\jdk-21\bin)代替。
配置CLASSPATH(按需启用)
方法一:仅用于简单命令行编译/运行(推荐初学者)
在“系统变量”中点击“新建” → 变量名:CLASSPATH → 变量值:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar。
注意开头的.(英文句点)表示当前目录,【缺了它,javac编译出的.class文件将无法被java命令直接运行】。
方法二:完全不配CLASSPATH
现代项目基本都用Maven/Gradle管理依赖,JVM默认不读取CLASSPATH;命令行运行时改用java -cp . MyMain临时指定路径更安全,避免全局CLASSPATH污染多个项目。
验证配置是否生效
① 关闭所有已打开的命令提示符窗口(关键!旧窗口不会自动加载新变量);
② 新建一个cmd窗口,依次执行:echo %JAVA_HOME% → 应输出你设置的JDK路径;java -version → 显示版本号且不报错;javac -version → 输出与java一致的版本号;echo %CLASSPATH% → 若配置了,应显示包含.和%JAVA_HOME%\lib的字符串。
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南











