Supabase Kotlin: NoClassDefFoundError: InstantSerializer in Spring Boot

Framework: Spring Boot
Kotlin Version: 2.2.0
Supabase Version: 3.2.6

Dependencies:
val supabaseVersion = "3.2.6"
// Supabase
implementation(platform("io.github.jan-tennert.supabase:bom:$supabaseVersion"))
implementation("io.github.jan-tennert.supabase:supabase-kt")
implementation("io.github.jan-tennert.supabase:auth-kt")
implementation("io.github.jan-tennert.supabase:storage-kt")

// Kotlinx Serialization
implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:1.9.0")


The Problem


I'm getting a NoClassDefFoundError when calling my signup endpoint using supabase.auth.signUpWith():

Error Stack Trace

java.lang.NoClassDefFoundError: kotlinx/serialization/internal/InstantSerializer
    at io.github.jan.supabase.auth.user.UserInfo$$serializer.deserialize(UserInfo.kt:9)
    at io.github.jan.supabase.auth.user.UserInfo$$serializer.deserialize(UserInfo.kt:9)
    ...

Message: "kotlinx/serialization/internal/InstantSerializer"
Path: "/api/v1/auth/signup"


Root Cause
The Supabase Auth library uses InstantSerializer in the UserSession class:

Source: - https://github.com/supabase-community/supabase-kt/blob/master/Auth/src/commonMain/kotlin/io/github/jan/supabase/auth/user/UserSession.kt

However, InstantSerializer is not being found on the classpath at runtime, even though I have kotlinx-serialization-json:1.9.0 included.

What I've Tried:

Adding kotlinx-serialization-json dependency
Checking Kotlin version compatibility
Reviewing Supabase-KT dependency versions

Questions:
What is the correct version of kotlinx-serialization-json needed for Supabase-KT 3.2.6?
Is there a version compatibility issue between Kotlin 2.2.0 and Supabase-KT 3.2.6?
Do I need to add additional datetime serialization dependencies?
Is there a workaround to properly load InstantSerializer onto the classpath?
GitHub
A Kotlin Multiplatform Client for Supabase. . Contribute to supabase-community/supabase-kt development by creating an account on GitHub.
Was this page helpful?