核心是确认系统“认得JDK、调得对、用得稳”:需验证JAVA_HOME指向正确根目录、java与javac命令均可用且版本一致、where/java和where/javac返回同一bin路径,并通过javac Hello.java && java Hello全流程测试。

检查 Java 项目打包运行前的环境变量配置是否完整,核心是确认系统“认得 JDK、调得对、用得稳”。不能只看 java -version 能跑,而要覆盖编译、运行、路径归属三个关键环节。
确认 JAVA_HOME 指向正确且被系统读取
JAVA_HOME 是所有工具(Maven、Gradle、IDE、Tomcat)定位 JDK 的基准。它必须是 JDK 根目录,不能带 \bin,也不能以反斜杠或斜杠结尾。
- Windows:在 CMD 中执行
echo %JAVA_HOME%,应输出类似C:\Java\jdk-17.0.2的路径 - macOS/Linux:在终端执行
echo $JAVA_HOME,应返回完整路径,如/Library/Java/JavaVirtualMachines/jdk-21.0.1.jdk/Contents/Home - 若输出为空、含
bin、末尾有\或指向jre目录,说明该变量未生效或值错误
验证 java 和 javac 命令是否同时可用且版本一致
仅 java -version 成功,不代表开发环境就绪;javac 才是 JDK 的标志。两者必须都成功,且版本号完全一致。
分析 Java Spring Boot 后端 Controller 代码,自动生成 Markdown 格式的接口文档。当用户说“生成 Java 接口文档”、“生成 API 文档”、“从 Spring 代码生成文档”时触发。
- 执行
java -version:应输出类似java version "17.0.9" - 执行
javac -version:应输出javac 17.0.9(注意无java version前缀) - 若
javac报command not found,大概率装的是 JRE,或 PATH 未包含%JAVA_HOME%\bin/$JAVA_HOME/bin
核对实际调用的 Java 是否来自你配置的 JDK
PATH 中可能混入多个 Java 路径(如 Oracle 自动安装的 javapath、系统默认 JRE),导致命令调用“名不副实”。
立即学习“Java免费学习笔记(深入)”;
- Windows:运行
where java和where javac,两个结果应出自同一bin目录,且该路径需与%JAVA_HOME%\bin\java.exe完全匹配 - macOS/Linux:运行
which java和which javac,输出应为$JAVA_HOME/bin/java和$JAVA_HOME/bin/javac - 若
where java返回C:\Program Files (x86)\Common Files\Oracle\Java\javapath\java.exe,说明你的 JDK 未排在 PATH 前端
可选但推荐:用简单编译运行验证全流程
写一个最小可执行单元,一次性暴露 JDK 完整性、编码支持、CLASSPATH 默认行为等隐藏问题。
- 新建文件
Hello.java,内容为:public class Hello { public static void main(String[] args) { System.out.println("OK"); } } - 在同目录执行:
javac Hello.java && java Hello - 输出
OK即通过;若报错,可能是中文路径、文件编码(UTF-8 BOM)、权限或 CLASSPATH 干扰所致

















