☕ Java

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.

Message d'erreur
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

  1. Vérifiez que la dépendance est bien dans le classpath d'exécution (scope `compile`/`runtime`, pas `provided`).
  2. Reconstruisez proprement : `mvn clean package` pour régénérer un artefact à jour.
  3. 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'IA

Bloqué sur un bug plus complexe ?

Nos développeurs Java, Spring & Angular débuggent, optimisent et livrent votre projet.

Parler à un développeur