You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

升级Java 17后IntelliJ运行多模块项目失败求助

解决Java版本不兼容的UnsupportedClassVersionError问题

核心问题拆解

报错里的class file version 61.0对应Java 17,58.0对应Java 14——说白了就是你用Java17编译了代码,但运行时调用的是Java14或更低版本的JVM,版本不匹配导致报错。

具体修复步骤

  • 检查项目SDK与语言级配置
    打开File -> Project Structure(Mac是IntelliJ IDEA -> 设置 -> 项目结构):

    • 在「Project」标签页,确认Project SDK选的是temurin-17,Project language level设为17(或选SDK默认)
    • 切换到「Modules」标签页,逐个检查每个模块的Language level,确保全设为17
  • 修正运行配置的JVM版本
    点击右上角运行/调试配置的下拉框,选「Edit Configurations」:

    • 找到你的项目运行配置(比如对应MainKt的Application配置)
    • 在「Configuration」标签页,把JRE选项直接指定为temurin-17,别用Default(防止默认指向旧JDK)
  • 彻底清理旧编译产物

    • 点IntelliJ工具栏的Build -> Clean Project
    • Gradle项目的话,在终端执行./gradlew clean build(Mac/Linux)或gradlew clean build(Windows),把旧字节码全清了再重新编译
  • 校验IntelliJ终端的Java版本
    在IntelliJ内置终端里执行java -version和javac -version,确认输出都是17.0.3-tem。如果不一致,去设置 -> 工具 -> 终端,勾选「用原生环境运行终端」,确保终端继承SDKMAN的配置

  • 硬编码Gradle的Java版本配置
    直接在build.gradle(或build.gradle.kts)里明确指定Java17,避免依赖默认配置:
    Groovy版build.gradle:

    plugins {
        id 'java'
        id 'org.jetbrains.kotlin.jvm' version '1.8.22'
    }
    
    java {
        sourceCompatibility = JavaVersion.VERSION_17
        targetCompatibility = JavaVersion.VERSION_17
    }
    
    kotlin {
        jvmToolchain(17)
    }
    

    Kotlin版build.gradle.kts:

    plugins {
        java
        kotlin("jvm") version "1.8.22"
    }
    
    java {
        sourceCompatibility = JavaVersion.VERSION_17
        targetCompatibility = JavaVersion.VERSION_17
    }
    
    kotlin {
        jvmToolchain(17)
    }
    

验证修复

做完上面的步骤后重新运行项目,要是还报错,重启IntelliJ让所有配置生效再试。

内容的提问来源于stack exchange,提问作者Ludwig

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.26 05:06:25