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
** Statut HTTP 500 - Une erreur de serveur interne se produit lorsque vous essayez de renvoyer une réponse du servlet à ajax **
"Qu'est-ce qu'une erreur 500?!" Et j'ai perdu un peu de temps, mais
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".
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é ...?
** 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"
** 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. ** **
Suppression des trois fichiers jackson-XXXXXX-2.9.9.jar dans la bibliothèque de référence avec "Exclude from build path".
Faites glisser et déposez les trois fichiers jackson-XXXXXX-2.9.9.jar directement dans le dossier WebContent / WEB-INF / lib.
Sélectionnez "Copier le fichier" et cliquez sur "OK"
Le fichier a été stocké.
Les avertissements concernant les trois fichiers jackson-XXXXXX-2.9.9.jar ont disparu. (Ignorez les 2 objets restants maintenant)
L'erreur 500 a disparu et le servlet a pu être exécuté.
Recommended Posts