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

IntelliJ中Kotlin调试表达式求值报错:找不到序列化器

IntelliJ调试Kotlin时「计算表达式」功能抛出kotlinx.serialization反序列化异常

问题详情

在IntelliJ中调试Kotlin代码,使用「计算表达式」功能求值表达式requestHeaders as Map<String, List<String>?>时,抛出以下异常:

org.jetbrains.kotlin.analyzer.CompilationErrorException : Could not load module in an attempt to find deserializer for symbol kotlinx.serialization/noCompiledSerializer|noCompiledSerializer(kotlin.String){}kotlinx.serialization.KSerializer<*>[0]

已尝试的操作:

  • 在gradle.build.kt中以implementation和runtime方式引入kotlinx.serialization相关依赖,问题未解决
  • 改用Java风格表达式求值可正常运行,但希望使用Kotlin原生表达式完成调试

解决方法

1. 确保Kotlin序列化插件正确配置

仅引入依赖不够,必须在Gradle中启用Kotlin序列化插件,且插件版本需与项目Kotlin版本完全一致。在gradle.build.kt中添加:

plugins {
    kotlin("jvm") version "你的Kotlin版本号" // 示例:"1.9.20"
    kotlin("plugin.serialization") version "你的Kotlin版本号"
}

2. 清理重建并同步项目

  • 执行命令行清理构建:./gradlew clean build
  • 重启IntelliJ,点击右上角「Sync Project with Gradle Files」按钮同步依赖

3. 调整求值表达式写法

避免直接强转,尝试分步求值或安全转换:

// 分步求值
val rawHeaders = requestHeaders
rawHeaders as Map<String, List<String>?>

或者:

// 安全转换
requestHeaders as? Map<String, List<String>?>

4. 检查调试器序列化支持设置

打开File > Settings > Build, Execution, Deployment > Debugger > Data Views > Kotlin,确认「Enable kotlinx.serialization support」选项已勾选。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 02:00:02