Spring89 2025-07-26 14:44 采纳率: 0%
浏览 28

类文件具有错误的版本 61.0, 应为 52.0

SprintBoot版本是3.4。JDK版本是1.8。idea也设置的是1.8
SpringApplication运行报错:类文件具有错误的版本 61.0, 应为 52.0。
在不降低SpringBoot版本的提前下如何解决该问题?求解决

img

jdk版本

img

maven配置

img

  • 写回答

4条回答 默认 最新

  • 檀越@新空间 2025-07-26 14:45
    关注

    下午好🌅🌅🌅
    本答案参考通义千问

    你遇到的错误信息是:

    类文件具有错误的版本 61.0, 应为 52.0
    

    这个错误表示你的项目中某些类文件是用更高版本的 JDK 编译的(例如 JDK 17 或更高),而运行时使用的 JDK 是 JDK 8(版本 52.0)。Spring Boot 3.4 要求至少使用 JDK 17,但你目前使用的是 JDK 8


    🚨 问题分析

    • Spring Boot 3.x 系列 不再支持 JDK 8,它要求 JDK 17 或以上
    • 错误代码 61.0 表示该类是用 JDK 17 编译的。
    • 错误代码 52.0 表示该类是用 JDK 8 编译的。
    • 你当前的 JDK 版本是 1.8(即 8),所以无法运行用更高版本编译的类。

    ✅ 解决方案(不降低 Spring Boot 版本)

    1. 升级 JDK 到 17 或以上

    这是最直接、最推荐的解决方案。Spring Boot 3.4 需要 JDK 17+ 才能正常运行。

    操作步骤:

    • 下载并安装 OpenJDK 17
    • 设置环境变量 JAVA_HOME 指向 JDK 17 的安装路径
    • 在 IntelliJ IDEA 中设置 Project SDK 为 JDK 17
    • 在 Maven 中指定 JDK 17(见下一步)

    ⚠️ 如果你不能升级 JDK,那么 Spring Boot 3.4 将无法正常运行,因为其底层依赖已不再兼容 JDK 8。


    2. 在 Maven 中强制指定 JDK 版本

    确保所有依赖项都使用 JDK 17 编译,而不是 JDK 8。

    修改 pom.xml 文件:

    <properties>
        <maven.compiler.source>17</maven.compiler.source>
        <maven.compiler.target>17</maven.compiler.target>
        <java.version>17</java.version>
    </properties>
    

    如果你使用的是 Spring Boot 3.4,它默认会使用 JDK 17,但如果你的本地环境仍然使用 JDK 8,Maven 可能会误用它。


    3. 检查并清理 Maven 缓存

    有时候旧的依赖可能被缓存在 .m2/repository 中,导致冲突。

    执行命令清理缓存:

    mvn clean install -U
    

    -U 参数强制更新快照依赖,避免使用旧版本。


    4. 检查 IDE 的 JDK 设置

    在 IntelliJ IDEA 中:

    1. 打开 File -> Project Structure -> SDKs
    2. 确保 Project SDKJDK 17
    3. 确保 Language level 设置为 17

    5. 检查依赖库是否兼容 JDK 17

    有些第三方库可能仍然使用 JDK 8 编译,可以尝试以下方式排查:

    • 使用 mvn dependency:tree 查看依赖树
    • 检查是否有使用 spring-boot-starter-web 或其他组件是否与 JDK 17 兼容

    🔁 如果你不能升级 JDK,那怎么办?

    如果由于某些原因你必须使用 JDK 8,那么只能:

    ✅ 降级 Spring Boot 版本到 2.x(如 2.7.x)

    Spring Boot 2.x 支持 JDK 8。

    示例:修改 pom.xml

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.7.15</version>
        <relativePath/>
    </parent>
    

    然后执行:

    mvn clean install
    

    ✅ 总结

    | 问题 | 解决方案 | |------|----------| | 类文件版本错误 | 升级 JDK 到 17 或以上 | | Maven 编译版本错误 | 在 pom.xml 中设置 <maven.compiler.source>17</maven.compiler.source> | | IDEA/JDK 设置错误 | 确保 Project SDK 和 Language Level 为 JDK 17 | | 依赖冲突 | 清理 Maven 缓存并检查依赖兼容性 | | 无法升级 JDK | 降级 Spring Boot 到 2.x(如 2.7.x) |


    🧠 建议

    • 优先升级 JDK 到 17+,这是 Spring Boot 3.x 的最低要求。
    • 如果你正在开发新项目,建议直接使用 Spring Boot 3.4 + JDK 17,以获得最新的功能和性能优化。

    如有需要,我可以提供完整的 pom.xml 示例或 JDK 安装指南。

    评论

报告相同问题?

问题事件

  • 创建了问题 7月26日