必须安装jdk而非jre,并正确配置java_home指向jdk根目录、path包含$java_home/bin,再通过javac/java编译运行helloworld.java验证环境,同时在ide中手动指定jdk路径并匹配maven编译版本。

确认系统是否已安装JDK并验证版本
很多初学者以为装了“Java”就万事大吉,结果运行 javac 报错“命令未找到”,其实是只装了 JRE(运行环境),没装 JDK(开发工具包)。必须确认安装的是 JDK,并且 java -version 和 javac -version 都能正常输出版本号。
常见错误现象:
-
javac: command not found(Linux/macOS)或“不是内部或外部命令”(Windows)→ PATH 未配置或 JDK 未安装 -
java -version有输出,但javac -version报错 → 安装的是 JRE 而非 JDK
实操建议:
- 去官网下载
jdk-21或jdk-17(LTS 推荐),不要用第三方打包版(如某些“绿色版 JDK”可能缺javac) - Windows 下安装后检查
C:\Program Files\Java\jdk-xx.x.x\bin是否加入系统 PATH - macOS 使用
brew install openjdk@21后,需手动设置JAVA_HOME(export JAVA_HOME=$(/usr/libexec/java_home -v21))
正确配置 JAVA_HOME 和 PATH 环境变量
IDE(如 IntelliJ、VS Code)和构建工具(如 Maven)严重依赖 JAVA_HOME。只配 PATH 不配 JAVA_HOME,Maven 可能启动失败,报错 The JAVA_HOME environment variable is not defined correctly。
立即学习“Java免费学习笔记(深入)”;
关键点:
-
JAVA_HOME必须指向 JDK 根目录(不是bin子目录),例如/Library/Java/JavaVirtualMachines/jdk-21.jdk/Contents/Home - PATH 中应包含
$JAVA_HOME/bin(Linux/macOS)或%JAVA_HOME%\bin(Windows) - Windows 用户注意:系统变量和用户变量中不要同时存在冲突的
JAVA_HOME,优先以系统变量为准 - 配置完务必新开终端验证:
echo $JAVA_HOME(macOS/Linux)或echo %JAVA_HOME%(Windows)
验证开发环境能否真正编译运行代码
别跳过这一步。很多教程到“配置完成”就结束,但实际写个 HelloWorld.java 编译失败,才发现是编码问题、换行符混乱,或 IDE 默认用了错误的 JDK 版本。
最小闭环验证步骤:
- 新建文件
HelloWorld.java,内容为:public class HelloWorld { public static void main(String[] args) { System.out.println("Hello, World!"); } } - 终端进入该目录,执行:
javac HelloWorld.java→ 应生成HelloWorld.class - 再执行:
java HelloWorld(注意:不带.class后缀)→ 输出Hello, World! - 若报错
Unsupported class file major version xx,说明javac和java版本不一致(比如用 JDK 21 编译,却用 JDK 11 运行)
IDE 中识别不到已配置的 JDK 或默认使用 JRE
IntelliJ / Eclipse / VS Code 的 Java 插件不会自动继承系统 JAVA_HOME,尤其在多 JDK 共存时容易选错。常见表现是项目能编译,但无法调试、Maven 导入失败、或提示 “No SDK configured”。
实操要点:
- IntelliJ:File → Project Structure → Project → Project SDK → 点击
+→ Add JDK → 选择你安装的 JDK 根目录(再次强调:不是bin) - Eclipse:Preferences → Java → Installed JREs → Add → Standard VM → JRE home 填 JDK 根路径
- VS Code:打开命令面板(Ctrl+Shift+P),运行
Java: Configure Java Runtime→ 在 “Java Configuration” 页面指定 JDK 路径 - 特别注意:Maven 项目还需检查
pom.xml中的maven.compiler.source和maven.compiler.target是否与所选 JDK 版本匹配(如 JDK 21 对应21)
最容易被忽略的是:IDE 启动时读取的是它自己的 Java 运行环境(即 IDE 自身用的 JVM),和你项目用的 JDK 是两回事——前者影响 IDE 性能,后者才决定你的代码能否编译运行。










