Bienvenue

NoClassDefFoundError: jakarta/servlet/Filter (root cause + fix)

TL;DR (répare en 60 secondes) #

Si tu vois :

  • ** WARNING ** : Your ApplicationContext is unlikely to start due to a @ComponentScan of the default package.
  • puis NoClassDefFoundError: jakarta/servlet/Filter

➡️ Verdict : ta classe @SpringBootApplication est dans le default package (pas de package ...).
➡️ Fix : déclare un vrai package + place le fichier dans le dossier qui correspond (et aligne tes tests).

Lire la suite →


Sérialiser les sealed classes Kotlin avec Jackson : causes, solutions, arbitrages

Pour qui / Quand / Résultat / Commande

  • Pour qui : Développeurs Kotlin/JVM (Spring Boot, Ktor, etc.) confrontés à des erreurs de (dé)sérialisation de sealed classes avec Jackson.
  • Quand : Dès qu’une sealed class ou hiérarchie polymorphe doit être (dé)sérialisée en JSON côté API ou persistence.
  • Résultat : Comprendre pourquoi ça casse, appliquer un fix rapide, arbitrer une refacto si besoin, valider par des tests reproductibles.
  • Commande :
./gradlew test

TL;DR #

Jackson ne gère pas nativement la (dé)sérialisation polymorphe des sealed classes Kotlin. Sans configuration adaptée, la désérialisation échoue ou perd le sous-type. Ce guide explique pourquoi, comment le reproduire, et propose des solutions rapides (module Kotlin, annotations, registration manuelle) ainsi qu’une alternative architecturale (séparer DTO/domain). Tests fournis pour valider chaque approche.

Lire la suite →