Ich bin nein, ein neuer Ingenieur. Ich mache eine Webanwendung, die mit Servlet und Ajax asynchron kommunizieren kann. Es hat einige Zeit gedauert, um den Fehler zu beheben, daher werde ich ein Protokoll führen.
Entwicklungsumgebung Herausgeber: Eclipse 2019-03 (4.11.0) Webserver: Apache Tomcat v9.0 Sprache: Java Bibliothek: ・ Jquery-3.4.1.min.js ・ Jackson-Annotations-2.9.9.jar ・ Jackson-Core-2.9.9.jar ・ Jackson-database-2.9.9.jar
** HTTP-Status 500 - Interner Serverfehler tritt auf, wenn versucht wird, eine Antwort von Servlet an Ajax zurückzugeben **
Registerkarte "Konsole" der Chrome-Entwicklertools"Was ist ein 500er Fehler ?!" Und ich verschwendete ein wenig Zeit, aber
Klicken Sie auf den Fehler und Sie finden einen Ausnahmebericht. "Ursache java.lang.NoClassDefFoundError: com/fasterxml/jackson/databind/ObjectMapper」Das? Die Datei, die ObjectMapper definiert, sollte importiert werden ... In diesem Sinne fand ich bei der Überprüfung von Eclipse auf verschiedene Weise die folgende Warnung auf der Registerkarte "Probleme".
Möglicherweise wird nicht auf die Datei jackson-XXXXXX-2.9.9.jar verwiesen, die dem Klassenpfad hätte hinzugefügt werden sollen ...?
** Auf die Datei (jackson-XXXXXX-2.9.9.jar), in der ObjectMapper (Jackson-Klasse) definiert ist, kann nicht verwiesen werden, was zu java.lang.NoClassDefFoundError führt. ** ** **
Als ich also googelte "Eclipse-Klassenpfadeintrag wird nicht exportiert oder veröffentlicht", fand ich die folgende Seite und löste sie.
https://codeday.me/jp/qa/20190201/208565.html "Spring-mvc - Eclipse Warnung: XXXXXXXXXXX.jar wird nicht exportiert oder veröffentlicht. Laufzeit ClassNotFoundExceptions können auftreten."
** Löschen Sie die Datei jackson-XXXXXX-2.9.9.jar aus der Referenzbibliothek und speichern Sie sie direkt im Ordner WEB-INF / lib. ** ** **
Die drei jackson-XXXXXX-2.9.9.jar-Dateien in der Referenzbibliothek wurden mit "Vom Erstellungspfad ausschließen" entfernt.
Ziehen Sie die drei jackson-XXXXXX-2.9.9.jar-Dateien per Drag & Drop direkt in den Ordner WebContent / WEB-INF / lib.
Wählen Sie "Datei kopieren" und klicken Sie auf "OK".
Die Datei wurde gespeichert.
Die Warnungen zu den drei jackson-XXXXXX-2.9.9.jar-Dateien sind verschwunden. (Ignoriere jetzt die restlichen 2 Gegenstände)
Der 500-Fehler verschwand und das Servlet konnte ausgeführt werden.
Recommended Posts