Il y a quelques jours à peine, j'ai rencontré la même question, tout comme la vôtre. Tout le code fonctionne bien sur ma machine locale, mais s'avère une erreur (noclassdeffound & initialize). Alors je poste ma solution, mais je ne sais pas pourquoi, je ne fais qu'avancer une possibilité. J'espère que quelqu'un sait vous l'expliquera. @ John Vint Premièrement, je vais vous montrer mon problème. Mon code a une variable statique et un bloc statique à la fois. Quand j'ai rencontré ce problème pour la première fois, j'ai essayé la solution de John Vint et j'ai essayé d'attraper l'exception. Cependant, je n'ai rien attrapé. Alors j'ai pensé que c'est parce que la variable statique (mais maintenant je sais qu'ils sont la même chose) et toujours rien trouvé. Donc, j'essaye de trouver la différence entre la machine Linux et mon ordinateur. Ensuite, j'ai trouvé que ce problème ne se produit que lorsque plusieurs threads s'exécutent dans un processus (à propos, la machine Linux a des cœurs doubles et des processus doubles). Cela signifie que si deux tâches (les deux utilisent le code qui a un bloc statique ou des variables) exécutées dans le même processus, cela se passe mal, mais si elles s'exécutent dans des processus différents, les deux sont ok. Dans la machine Linux, j'utilise
mvn -U clean test -Dtest=path
pour exécuter une tâche, et parce que ma variable statique est de démarrer un conteneur (ou peut-être que vous initialisez un nouveau chargeur de classe), il restera jusqu'à l'arrêt du jvm, et le jvm ne s'arrête que lorsque toutes les tâches d'un processus s'arrêtent. Chaque tâche démarrera un nouveau conteneur (ou chargeur de classe) et rendra le jvm confus. En conséquence, l'erreur se produit. Alors, comment le résoudre? Ma solution est d'ajouter une nouvelle commande à la commande maven et de faire en sorte que chaque tâche aille dans le même conteneur.
-Dxxx.version=xxxxx #sorry can't post more
Peut-être avez-vous déjà résolu ce problème, mais espérons toujours que cela aidera d'autres personnes qui rencontrent le même problème.