rharter
04/15/2020, 3:13 PMInvocationTargetException
due to a NoClassDefFoundError
when trying to invoke the serializer() method on a @Serializable
class. The class and method are found (via reflection using Ktor’s kotlinx.serialization content negotiation feature) and set accessible, but this still happens. The annotated data class is public, but in a dependent module from the actual server that is executed. Any idea what might be wrong?Sam Garfinkel
04/15/2020, 3:20 PMrharter
04/15/2020, 3:24 PMrharter
04/15/2020, 3:25 PMSam Garfinkel
04/15/2020, 3:26 PMrharter
04/15/2020, 3:29 PMrharter
04/15/2020, 3:29 PMval jsonString = json.stringify(
CreateRecordRequest.serializer(),
CreateRecordRequest(
filename = "foo",
content_type = "image/png",
byte_size = 123,
checksum = "12345abcde"
)
)
rharter
04/15/2020, 3:29 PMrharter
04/15/2020, 3:30 PM@Serializable
data class CreateRecordRequest(
val filename: String,
val content_type: String,
val byte_size: Int,
val checksum: String
)
rharter
04/15/2020, 3:30 PMjava.lang.NoSuchMethodError: 'void kotlinx.serialization.internal.SerialClassDescImpl.<init>(java.lang.String, kotlinx.serialization.internal.GeneratedSerializer, int)'
at com.pixite.pigment.cms.storage.CreateRecordRequest$$serializer.<clinit>(Api.kt:39)
at com.pixite.pigment.cms.storage.CreateRecordRequest$Companion.serializer(Api.kt)
rharter
04/15/2020, 3:30 PMSam Garfinkel
04/15/2020, 3:31 PMrharter
04/15/2020, 3:32 PMSam Garfinkel
04/15/2020, 3:34 PMrharter
04/15/2020, 3:34 PMSam Garfinkel
04/15/2020, 3:37 PMCreateRecordRequest.serializer()
shouldn’t just work. Seems like that’s probably where it’s failing.rharter
04/15/2020, 3:37 PMrharter
04/15/2020, 3:38 PMSam Garfinkel
04/15/2020, 3:39 PMrharter
04/15/2020, 3:39 PMSam Garfinkel
04/15/2020, 3:41 PMSam Garfinkel
04/15/2020, 3:42 PMrharter
04/15/2020, 3:42 PMSam Garfinkel
04/15/2020, 3:43 PMSam Garfinkel
04/15/2020, 3:43 PMSam Garfinkel
04/15/2020, 3:44 PMkotlinx.serialization.internal.SerialClassDescImpl
is resolvable.russhwolf
04/15/2020, 3:48 PMrharter
04/15/2020, 3:52 PMrharter
04/16/2020, 8:59 PM