解决 `java: 错误: 不支持发行版本 5`

发布时间:2026/7/31 19:36:13
解决 `java: 错误: 不支持发行版本 5` 目录解决 Java 编译版本报错 5 的全过程问题核心原因第一步确定项目“真实”版本第二步取消勾选 Maven 配置文件 (Profiles)第三步修改项目结构 (Project Structure)第四步修改编译器设置 (Java Compiler)第五步指定 Maven 运行环境 (Runner) 核心总结解决 Java 编译版本报错 5 的全过程问题核心原因Java 5 是 Maven 的默认编译器版本。当 IDEA 无法正确匹配项目的 JDK 版本时会默认回退到 Java 5从而导致不支持现代语法如 Lambda、记录类等的报错。第一步确定项目“真实”版本操作查看根目录pom.xml中的java.version标签。结果确定为17。原因pom.xml是项目的最高契约决定了所有编译和运行环境的基准。第二步取消勾选 Maven 配置文件 (Profiles)操作在 Maven 面板中取消勾选jdk-1.8。原因这就是导致冲突的直接诱因。当前项目要求 JDK 17如果勾选了jdk-1.8的 ProfileMaven 会强制将编译环境降级或限定在 1.8 环境下导致与项目要求的 17 冲突最终可能触发编译器乱套并回退到默认值 5。第三步修改项目结构 (Project Structure)位置File - Project Structure。操作将Project和Modules的 SDK 设为17语言级别 (Language Level) 也同步设为17。原因告知 IDEA 整个工程的代码逻辑和依赖库应该以 JDK 17 的标准进行解析。第四步修改编译器设置 (Java Compiler)位置Settings - Build, Execution, Deployment - Compiler - Java Compiler。操作将Project bytecode version改为17并确保下方各模块的Target bytecode version也是17。原因这是javac命令执行时的终极参数直接决定了生成的.class文件版本。第五步指定 Maven 运行环境 (Runner)位置Settings - Build Tools - Maven - Runner。操作将JRE明确选择为项目的JDK 17。原因确保通过 IDEA 触发 Maven 构建任务时底层调用的执行环境与代码版本保持一致。 核心总结POM 决定版本一切以pom.xml为准。配置必须闭环项目 SDK、编译器级别、Maven JRE三者必须全部统一本例中全为 17。Profile 陷阱Maven 面板中的 Profile 优先级很高若与当前项目版本不符必须取消勾选否则会产生静默的配置覆盖。