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

Spring Boot(Kotlin):JVM目标版本不兼容及主类缺失问题求助

解决Spring Boot + Kotlin + Gradle的JVM目标版本不匹配问题

问题原因

你遇到的INLINE_FROM_HIGHER_PLATFORM错误,是VS Code的Kotlin语言服务默认使用的JVM目标版本(1.8)和项目配置的JVM 17不一致导致的——即使build.gradle.kts里已正确设置,IDE层面未同步配置。而将jvmTarget改为1.8后出现主类找不到,是因为Spring Boot 3.x强制要求最低Java版本为17,降级到1.8会导致编译后的代码无法兼容运行环境。

解决步骤

1. 同步VS Code的Kotlin插件配置

打开VS Code设置界面(快捷键Ctrl+,),搜索Kotlin: Compiler Jvm Target,将值修改为17。也可以直接在项目根目录的.vscode/settings.json中添加以下配置:

{
    "kotlin.compiler.jvmTarget": "17"
}

2. 简化并统一Gradle配置

你的build.gradle.kts中重复设置了JVM版本相关参数,建议统一使用jvmToolchain管理,Spring Boot会自动同步Java和Kotlin的编译目标版本,修改后的配置如下:

import org.jetbrains.kotlin.gradle.tasks.KotlinCompile

plugins {
    id("org.springframework.boot") version "3.1.2"
    id("io.spring.dependency-management") version "1.1.2"
    kotlin("jvm") version "1.8.22"
    kotlin("plugin.spring") version "1.8.22"
}

repositories {
    mavenCentral()
}

// 统一配置JVM工具链,自动同步Java/Kotlin的编译版本
kotlin {
    jvmToolchain {
        languageVersion.set(JavaLanguageVersion.of(17))
    }
}

dependencies {
    implementation("org.springframework.boot:spring-boot-starter-data-rest")
    implementation("org.springframework.boot:spring-boot-starter-security")
    implementation("org.springframework.boot:spring-boot-starter-web")
    implementation("com.fasterxml.jackson.module:jackson-module-kotlin")
    implementation("org.jetbrains.kotlin:kotlin-reflect")
    runtimeOnly("com.h2database:h2")
    testImplementation("org.springframework.boot:spring-boot-starter-test")
    testImplementation("org.springframework.security:spring-security-test")
}

tasks.withType<KotlinCompile> {
    kotlinOptions {
        freeCompilerArgs += "-Xjsr305=strict"
    }
}

tasks.withType<Test> {
    useJUnitPlatform()
}

3. 清理缓存并同步项目

执行以下Gradle命令清理缓存并重新构建:

./gradlew clean build --refresh-dependencies

随后在VS Code中按Ctrl+Shift+P,选择Gradle: Refresh Gradle Projects,让IDE重新加载项目配置。

4. 确认主类配置

确保你的项目主类带有@SpringBootApplication注解,并且主函数正确实现:

@SpringBootApplication
class DemoApplication

fun main(args: Array<String>) {
    runApplication<DemoApplication>(*args)
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 16:05:00