这个错误其实很典型,也很容易修复。这里主要记录下自己的解决步骤:


❌ 错误信息:

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

📖 原因分析

意思是:

你当前项目的编译配置(source 或 target)还停留在 Java 5 (1.5)
但你当前使用的 JDK(例如 JDK 11、17)早已不支持 Java 5 的编译目标,所以报错。

换句话说:

  • 你的 JDK 是新的(11、17)

  • 但项目 pom.xml 或 IDEA 编译设置 里写的还是 1.5

  • 导致编译器不知道怎么编译成“Java 5 的字节码”,所以报错。


✅ 常规一:修改 pom.xml(推荐)

打开项目根目录下的 pom.xml
找到 <properties> 里的编译版本配置,如果没有,就加上 👇

<properties>
    <java.version>17</java.version> <!-- 或者 11 -->
    <maven.compiler.source>17</maven.compiler.source>
    <maven.compiler.target>17</maven.compiler.target>
</properties>

保存后,执行:

mvn clean compile

✅ 如果能正常编译,就说明修复成功。


✅ 常规二:IDEA 设置 JDK 版本

  1. 打开 File → Project Structure (Ctrl+Alt+Shift+S)

  2. 在左侧选:

    • Project → SDK:改成你本机安装的 JDK(比如 17)

    • Project language level:改为 17 - Sealed types, always-strict floating-point semantics

  3. 然后:

    • Modules → Sources 里也确认使用的 SDK 是 17

    • Modules → Dependencies 里确认依赖的 SDK 也是 17

  4. 点击 OK,重新构建项目(Build → Rebuild Project

  5. 打开settings→ 这里也需要修改

✅ 关键:细致设置 JDK 版本

前面的步骤都走了一遍之后,发现其实问题在这里:

        在 Modules 标签下,将每个模块的 Language level 也要设置为与 Project SDK 一致。

而且直接导入进来立即设置过后还不一定生效,建议运行一次报错之后再设置。


⚠️ 附加检查:.idea / .iml 文件残留版本

有时 IDEA 的模块文件还保存着旧版本:
打开 .idea/compiler.xml<module-name>.iml 文件,
搜索 1.55,改成 1711,保存后重启 IDEA。


✅看这里就够了:修改三个地方

问题来源 修复方式
Maven 项目 修改 pom.xml 中的 <maven.compiler.source><maven.compiler.target>
Project Structure 修改 里面的 Project SDK 和 language level
Settings 修改 Compiler里面的 java Compiler里面的每个module的Target bytecode version

        这三个一个都别漏,反复检查


📌 最终建议

无论你用什么项目类型,统一升级到 Java 17 是最保险的选择(Spring Boot 3.x 也要求 17)。

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐