[JAVA] [Servlet / Ajax] Comment résoudre NoClassDefFoundError [Eclipse]

Je suis noy, un nouvel ingénieur. Je crée une application Web qui peut communiquer de manière asynchrone en utilisant Servlet et Ajax. Il a fallu un certain temps pour résoudre l'erreur, je vais donc garder une trace.

Environnement de développement Editeur: Eclipse 2019-03 (4.11.0) Serveur Web: Apache Tomcat v9.0 Langue: Java Bibliothèque: ・ Jquery-3.4.1.min.js ・ Jackson-annotations-2.9.9.jar ・ Jackson-core-2.9.9.jar ・ Jackson-databind-2.9.9.jar

contenu de l'erreur

** Statut HTTP 500 - Une erreur de serveur interne se produit lorsque vous essayez de renvoyer une réponse du servlet à ajax **

スクリーンショット 2019-07-01 20.08.17.png Onglet "Console" des outils de développement Chrome

"Qu'est-ce qu'une erreur 500?!" Et j'ai perdu un peu de temps, mais

スクリーンショット 2019-07-01 20.09.04.png Cliquez sur l'erreur et vous trouverez un rapport d'exception. "Cause première java.lang.NoClassDefFoundError: com/fasterxml/jackson/databind/ObjectMapper」

cette? Le fichier qui définit ObjectMapper doit être importé ... Dans cet esprit, lorsque j'ai examiné Eclipse de différentes manières, j'ai trouvé l'avertissement suivant dans l'onglet "Problèmes".

スクリーンショット_2019-07-01_21_22_33.png

Peut-être que le fichier jackson-XXXXXX-2.9.9.jar qui aurait dû être ajouté au chemin de classe n'est pas référencé ...?

Cause

** Le fichier (jackson-XXXXXX-2.9.9.jar) dans lequel ObjectMapper (classe Jackson) est défini ne peut pas être référencé, ce qui entraîne java.lang.NoClassDefFoundError. ** **

Ainsi, quand j'ai googlé "l'entrée de chemin de classe d'éclipse n'est pas exportée ou publiée", j'ai trouvé la page suivante et l'ai résolue.

https://codeday.me/jp/qa/20190201/208565.html "Spring-mvc - Avertissement Eclipse: XXXXXXXXXXX.jar ne sera ni exporté ni publié. Exécution ClassNotFoundExceptions peut se produire"

Solution

** Supprimez le fichier jackson-XXXXXX-2.9.9.jar de la bibliothèque de référence et stockez-le directement dans le dossier WEB-INF / lib. ** **

スクリーンショット_2019-07-01_21_37_20.png スクリーンショット_2019-07-01_21_43_15.png

Suppression des trois fichiers jackson-XXXXXX-2.9.9.jar dans la bibliothèque de référence avec "Exclude from build path".

スクリーンショット_2019-07-01_21_52_25-2.png

Faites glisser et déposez les trois fichiers jackson-XXXXXX-2.9.9.jar directement dans le dossier WebContent / WEB-INF / lib.

スクリーンショット 2019-07-01 21.50.10.png

Sélectionnez "Copier le fichier" et cliquez sur "OK"

スクリーンショット 2019-07-01 21.55.21.png

Le fichier a été stocké.

スクリーンショット_2019-07-01_22_20_36.png

Les avertissements concernant les trois fichiers jackson-XXXXXX-2.9.9.jar ont disparu. (Ignorez les 2 objets restants maintenant)

スクリーンショット 2019-07-01 22.24.53.png

L'erreur 500 a disparu et le servlet a pu être exécuté.

Recommended Posts

[Servlet / Ajax] Comment résoudre NoClassDefFoundError [Eclipse]
Comment utiliser Eclipse Debug_Shell
Comment utiliser scope (JSP & Servlet)
Comment résoudre les erreurs de contenu mixte
[Note technique] Comment résoudre les erreurs
Comment définir Lombok dans Eclipse
java Eclips Comment déboguer javaScript
Un mémorandum sur l'utilisation d'Eclipse
Comment utiliser Apache Derby sur Eclipse
Comment inclure Spring Tool dans Eclipse 4.6.3?
Comment résoudre les erreurs qui se produisent lors de l'installation de Rails 5.1.3
Java: Comment envoyer des valeurs du servlet au servlet
[Pour les débutants] Comment déboguer avec Eclipse
[Java FX] Comment écrire des autorisations Eclipse dans build.gradle
Comment colorer la sortie de la console de code dans Eclipse
Résoudre NoClassDefFoundError, ClassNotFoundException
Comment générer automatiquement un constructeur dans Eclipse
Comment implémenter une fonctionnalité intéressante dans Ajax avec Rails
Comment basculer Tomcat context.xml avec Eclipse WTP
Comment passer d'Eclipse Java à un fichier SQL
Comment télécharger des fichiers (Servlet, HTML, Apache, Tomcat)
Comment démarrer le serveur local de Tomcat sans utiliser eclipse
Comment Git gérer les projets Java EE dans Eclipse
Comment exécuter Java EE Tutial sur github sur Eclipse
Comment déboguer le fichier jar généré avec Eclipse
Comment résoudre l'erreur SSL_connect dans le SDK PayPal Ruby
Comment développer OpenSPIFe
Comment appeler AmazonSQSAsync
Comment utiliser Map
Comment écrire des rails
Comment utiliser rbenv
Comment utiliser with_option
Comment utiliser fields_for
Comment utiliser java.util.logging
Comment utiliser la carte
Comment utiliser collection_select
Pour déboguer avec Eclipse
Comment utiliser Twitter4J
Comment utiliser active_hash! !!
Comment installer Docker
Comment utiliser MapStruct
Comment utiliser TreeSet
[Comment utiliser l'étiquette]
Comment faire un pot ombré
Comment écrire docker-compose
Comment utiliser l'identité
Comment utiliser le hachage
Comment écrire Mockito
Comment créer docker-compose
Comment installer MySQL
Comment écrire un fichier de migration
Comment construire android-midi-lib
Comment utiliser Dozer.mapper