ClassNotFoundException / NoClassDefFoundError
La JVM ne trouve pas une classe au moment de l'exécution alors qu'elle existait (ou était attendue) : un problème de classpath ou de dépendance manquante.
java.lang.NoClassDefFoundError: org/example/MyClass🔍 Cause la plus probable
Une dépendance présente à la compilation est absente à l'exécution (mauvais scope Maven, JAR non packagé), ou des versions incompatibles cohabitent.
✅ Solution étape par étape
- Vérifiez que la dépendance est bien dans le classpath d'exécution (scope `compile`/`runtime`, pas `provided`).
- Reconstruisez proprement : `mvn clean package` pour régénérer un artefact à jour.
- En cas de conflit de versions, inspectez l'arbre des dépendances : `mvn dependency:tree`.
🧩 Autres causes possibles
Fat-jar mal construit
Avec Spring Boot, utilisez `spring-boot-maven-plugin` qui embarque toutes les dépendances.
Initialisation statique qui échoue
Un `NoClassDefFoundError` peut masquer une exception dans un bloc `static` : regardez la cause racine (`Caused by`).
🛡️ Comment l'éviter à l'avenir
Gérez les versions via un BOM/parent, évitez les dépendances en double et testez l'artefact final, pas seulement l'IDE.
🔒 Votre erreur est différente ?
Collez votre message d'erreur dans notre analyseur IA. Traitement anonymisé, rien n'est stocké.
Analyser mon erreur avec l'IABloqué sur un bug plus complexe ?
Nos développeurs Java, Spring & Angular débuggent, optimisent et livrent votre projet.
Parler à un développeur