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

kotlinx-serialization @Serializable未生效:模块编译插件未应用问题

解决Ktor项目中kotlinx.serialization插件未生效问题

针对你遇到的@Serializable注解未被处理、运行时找不到序列化器的问题,可按以下步骤排查修复:

  • 确认版本完全匹配
    检查项目根目录gradle.properties中的kotlin_version值是否与build.gradle.kts中声明的版本一致(当前应为1.9.0)。序列化插件版本必须和Kotlin版本严格对应,版本不匹配会直接导致插件无法正常工作。

  • 强制同步Gradle并清理缓存

    1. 点击IDE右上角Gradle面板的「Sync Project with Gradle Files」按钮,重新同步项目
    2. 在终端执行命令清理构建缓存并重新构建:
      ./gradlew clean build --refresh-dependencies
      
    3. 清理IDE缓存:依次点击File -> Invalidate Caches...,勾选「Clear file system cache and local history」后重启IDE
  • 检查注解导入正确性
    确保Message类导入的是kotlinx序列化的注解,而非Java自带的序列化注解:

    import kotlinx.serialization.Serializable // 正确导入
    // 避免错误导入 import java.io.Serializable
    
  • 确认插件应用到目标模块
    如果是多模块项目,kotlin("plugin.serialization")必须添加到包含Message类的模块的build.gradle.kts中,不能仅在根模块配置。

  • 验证序列化调用方式
    确保你使用的是kotlinx序列化官方的Json实例:

    import kotlinx.serialization.json.Json
    
    // 正确调用示例
    val message = Json.decodeFromString<Message>(messageString)
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 14:23:19