gpt4 book ai didi

kotlin - 调用生成的 serializer() 方法时收到 NoClassDefFoundError

转载 作者:行者123 更新时间:2023-12-02 12:15:10 26 4
gpt4 key购买 nike

当我试图调用 @Serializable 类的 Foo.serializer() 方法时,我得到了一个 NoClassDefFoundError

这是我的测试用例:

@Serializable
data class Foo(val data: String)

val jsonString = json.stringify(
Foo.serializer(), // <= Error happens here
Foo(data = "foo")
)

尝试运行代码会产生以下堆栈跟踪:

java.lang.NoSuchMethodError: 'void kotlinx.serialization.internal.SerialClassDescImpl.<init>(java.lang.String, kotlinx.serialization.internal.GeneratedSerializer, int)'
at com.example.Foo$$serializer.<clinit>(Foo.kt:7)
at com.example.Foo$Companion.serializer(Foo.kt)

最佳答案

这是 Kotlin 和 Kotlinx.serialization 之间版本不匹配的结果,因为它们的耦合相对紧密。就我而言,我使用的是 Kotlin 1.3.71 和 kotlinx.serialization 0.14.0,因此解决方案是将 kotlinx.serialization 升级到 0.20.0。

关于kotlin - 调用生成的 serializer() 方法时收到 NoClassDefFoundError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61259946/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com