[JAVA] [Servlet / Ajax] So lösen Sie NoClassDefFoundError [Eclipse]

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

Fehlerinhalt

** HTTP-Status 500 - Interner Serverfehler tritt auf, wenn versucht wird, eine Antwort von Servlet an Ajax zurückzugeben **

スクリーンショット 2019-07-01 20.08.17.png Registerkarte "Konsole" der Chrome-Entwicklertools

"Was ist ein 500er Fehler ?!" Und ich verschwendete ein wenig Zeit, aber

スクリーンショット 2019-07-01 20.09.04.png 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".

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

Möglicherweise wird nicht auf die Datei jackson-XXXXXX-2.9.9.jar verwiesen, die dem Klassenpfad hätte hinzugefügt werden sollen ...?

Ursache

** 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ösung

** Löschen Sie die Datei jackson-XXXXXX-2.9.9.jar aus der Referenzbibliothek und speichern Sie sie direkt im Ordner WEB-INF / lib. ** ** **

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

Die drei jackson-XXXXXX-2.9.9.jar-Dateien in der Referenzbibliothek wurden mit "Vom Erstellungspfad ausschließen" entfernt.

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

Ziehen Sie die drei jackson-XXXXXX-2.9.9.jar-Dateien per Drag & Drop direkt in den Ordner WebContent / WEB-INF / lib.

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

Wählen Sie "Datei kopieren" und klicken Sie auf "OK".

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

Die Datei wurde gespeichert.

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

Die Warnungen zu den drei jackson-XXXXXX-2.9.9.jar-Dateien sind verschwunden. (Ignoriere jetzt die restlichen 2 Gegenstände)

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

Der 500-Fehler verschwand und das Servlet konnte ausgeführt werden.

Recommended Posts

[Servlet / Ajax] So lösen Sie NoClassDefFoundError [Eclipse]
Verwendung von Eclipse Debug_Shell
Verwendung des Bereichs (JSP & Servlet)
So beheben Sie Fehler bei gemischten Inhalten
[Technisches Memo] So beheben Sie Fehler
So setzen Sie Lombok in Eclipse
Java Eclips So debuggen Sie JavaScript
Ein Memorandum zur Verwendung von Eclipse
Verwendung von Apache Derby unter Eclipse
Wie kann ich Spring Tool in Eclipse 4.6.3 einbinden?
So beheben Sie Fehler, die während der Installation von Rails 5.1.3 auftreten
Java: So senden Sie Werte von Servlet zu Servlet
[Für Anfänger] So debuggen Sie mit Eclipse
[Java FX] So schreiben Sie Eclipse-Berechtigungen in build.gradle
Farbcodierung der Konsolenausgabe in Eclipse
Lösen Sie NoClassDefFoundError, ClassNotFoundException
So generieren Sie automatisch einen Konstruktor in Eclipse
So implementieren Sie eine nette Funktion in Ajax mit Rails
So wechseln Sie Tomcat context.xml mit Eclipse WTP
So springen Sie von Eclipse Java zu einer SQL-Datei
Herunterladen von Dateien (Servlet, HTML, Apache, Tomcat)
So starten Sie den lokalen Server von Tomcat ohne Eclipse
So verwalten Sie Java EE-Projekte in Eclipse
So führen Sie Java EE Tutial auf Github unter Eclipse aus
So debuggen Sie die generierte JAR-Datei mit Eclipse
So beheben Sie den SSL_connect-Fehler im PayPal Ruby SDK
So entwickeln Sie OpenSPIFe
So rufen Sie AmazonSQSAsync auf
Verwendung von Map
Wie schreibe ich Rails
Wie benutzt man rbenv?
Verwendung mit_option
Verwendung von fields_for
Verwendung von java.util.logging
Verwendung der Karte
Verwendung von collection_select
Debuggen mit Eclipse
Wie benutzt man Twitter4J
Wie benutzt man active_hash! !!
So installieren Sie Docker
Verwendung von MapStruct
Verwendung von TreeSet
[Verwendung des Etiketts]
Wie man ein schattiertes Glas macht
Wie schreibe ich Docker-Compose
Wie man Identität benutzt
Wie man Hash benutzt
Wie schreibe ich Mockito
So erstellen Sie Docker-Compose
So installieren Sie MySQL
So schreiben Sie eine Migrationsdatei
Wie man android-midi-lib baut
Verwendung von Dozer.mapper