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

IntelliJ对kotlinx.serialization报错但编译正常的问题求助

Kotlin Multiplatform项目IntelliJ中@Serializable注解未解析问题

在Kotlin Multiplatform项目中使用Kotlin 1.7.x版本时,IntelliJ出现以下异常提示:

  • @Serializable注解被标记为属于kotlin.io内部,无法访问
  • kotlinx.serialization包显示为未解析引用

降级至Kotlin 1.6.10版本后问题完全消失,但Gradle在1.7.10版本下仍能正常编译并运行应用,因此推测该问题由IntelliJ或相关IDE设置导致。

已尝试以下修复方法均未解决问题:

  • 重新加载Gradle项目
  • 刷新Gradle依赖
  • 使用Repair IDE工具完全刷新项目索引
  • 删除.idea和.gradle文件夹
  • 调整项目结构版本
  • 调整各类依赖版本与IDE配置

项目配置代码

build.gradle.kts

plugins {
    application
    kotlin("multiplatform") version Versions.kotlin
    kotlin("plugin.serialization") version Versions.kotlin
}

group = "com.example"
version = "4.0"

repositories {
    mavenCentral()
}

kotlin {
    jvm {
        compilations.all {
            kotlinOptions.jvmTarget = "17"
        }
        withJava()
        testRuns["test"].executionTask.configure {
            useJUnitPlatform()
        }
    }
    js {
        binaries.executable()
        browser {
            commonWebpackConfig {
                cssSupport.enabled = true
            }
            webpackTask {
                outputFileName = "app.js"
            }
        }
    }
    sourceSets {
        val commonMain by getting {
            dependencies {
                implementation("io.ktor:ktor-client-core:${Versions.ktor}")
                implementation("io.ktor:ktor-client-websockets:${Versions.ktor}")
                implementation("io.ktor:ktor-serialization-kotlinx-json:${Versions.ktor}")
                implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:${Versions.serialization}")
            }
        }
        val commonTest by getting {
            dependencies {
                implementation(kotlin("test-common"))
                implementation(kotlin("test-annotations-common"))
            }
        }
        val jvmMain by getting {
            dependencies {
                implementation("io.ktor:ktor-server-core:${Versions.ktor}")
                implementation("io.ktor:ktor-server-auth:${Versions.ktor}")
                implementation("io.ktor:ktor-serialization:${Versions.ktor}")
                implementation("io.ktor:ktor-server-html-builder:${Versions.ktor}")

                implementation("io.ktor:ktor-client-cio:${Versions.ktor}")
                implementation("io.ktor:ktor-server-cio:${Versions.ktor}")
                implementation("io.ktor:ktor-server-websockets:${Versions.ktor}")
            }
        }
        val jvmTest by getting
        val jsMain by getting {
            dependencies {
                implementation("io.ktor:ktor-client-js:${Versions.ktor}")
                implementation("io.ktor:ktor-client-json:${Versions.ktor}")
                implementation("io.ktor:ktor-client-auth:${Versions.ktor}")
                implementation("io.ktor:ktor-client-websockets:${Versions.ktor}")
                implementation("io.ktor:ktor-client-serialization:${Versions.ktor}")

                implementation("org.jetbrains.kotlin-wrappers:kotlin-react:${Versions.react}")
                implementation("org.jetbrains.kotlin-wrappers:kotlin-react-dom:${Versions.react}")
            }
        }
        val jsTest by getting
    }
}

application {
    mainClass.set("com.example.app.ServerKt")
}

tasks.named<Copy>("jvmProcessResources") {
    val jsBrowserDistribution = tasks.named("jsBrowserDistribution")
    from(jsBrowserDistribution)
}

tasks.named<JavaExec>("run") {
    dependsOn(tasks.named<Jar>("jvmJar"))
    classpath(tasks.named<Jar>("jvmJar"))
}

Versions对象代码

object Versions {
    const val ktor = "2.0.3"
    const val kotlin = "1.7.10"
    const val coroutines = "1.6.3"
    const val serialization = "1.3.3"
    const val react = "18.2.0-pre.358-compat"
}

出现问题的类代码

import kotlinx.serialization.Serializable

@Serializable
data class Customer(val id: Int, val firstName: String, val lastName: String)

报错截图

Serializable注解报错
serialization包未解析报错

恳请各位提供解决帮助。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 22:54:18