rha*_*ter 3 kotlin kotlinx.serialization kotlinx
我NoClassDefFoundError在尝试调用类Foo.serializer()上的方法时得到了一个@Serializable。
这是我的测试用例:
@Serializable
data class Foo(val data: String)
val jsonString = json.stringify(
Foo.serializer(), // <= Error happens here
Foo(data = "foo")
)
Run Code Online (Sandbox Code Playgroud)
尝试运行代码会导致以下堆栈跟踪:
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)
Run Code Online (Sandbox Code Playgroud)
这是 Kotlin 和 Kotlinx.serialization 之间版本不匹配的结果,因为它们相对紧密耦合。就我而言,我使用的是 Kotlin 1.3.71 和 kotlinx.serialization 0.14.0,所以解决方案是将 kotlinx.serialization 升级到 0.20.0。
| 归档时间: |
|
| 查看次数: |
839 次 |
| 最近记录: |