Ich bin neu bei Jackson und habe etwas Code zum Üben geschrieben. Ich habe herausgefunden, dass die neue Version der Jackson-Bibliothek auf Fasterxml zu finden ist: Jackson , daher fügte ich der Maven-Pom-Datei die folgenden Abhängigkeiten hinzu:
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>2.2.2</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.2.2</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.2.2</version>
</dependency>
Ich hatte erwartet, dass ich die ObjectMapper
direkt verwenden kann. Nachdem ich jedoch viel Zeit verbracht hatte, stellte ich fest, dass ich die alten Bibliotheken unten verwenden muss, um die ObjectMapper
zu verwenden:
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-mapper-asl</artifactId>
<version>1.9.2</version>
</dependency>
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-core-asl</artifactId>
<version>1.9.2</version>
</dependency>
Ich bin etwas verwirrt. Könnte mir bitte jemand sagen, warum das so ist?
<properties>
<!-- Use the latest version whenever possible. -->
<jackson.version>2.4.4</jackson.version>
</properties>
<dependencies>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>${jackson.version}</version>
</dependency>
</dependencies>
sie haben einen ObjectMapper (aus dem Jackson Databind-Paket) zur Verfügung. Wenn ja, können Sie Folgendes tun:
JsonFactory factory = objectMapper.getFactory();
Quelle: https://github.com/FasterXML/jackson-core
Daher reichen die 3 Abhängigkeiten, die Sie bereits in pom haben, für ObjectMapper aus, da es jackson-databind enthält.
Nein, Sie können einfach com.fasterxml.jackson.databind.ObjectMapper
..__ verwenden. Möglicherweise haben Sie vergessen, Ihre import
- -Anweisungen zu korrigieren, alle Verweise auf codehaus zu löschen und Sie sind in Ordnung.
Machen Sie neben dem Importieren auch einen neuen maven clean compile -U
. Beachten Sie die -U
-Option, die neue Abhängigkeiten mit sich bringt, mit denen der Editor manchmal Schwierigkeiten hat. Lassen Sie die Kompilierung wegen nicht importierter Klassen fehlschlagen, aber Sie haben zumindest eine Option, sie nach dem Befehl maven zu importieren.
Nur Maven-> Reimport von Intellij zu machen, hat für mich nicht funktioniert.
Ich habe einige Stunden damit verbracht.
Selbst wenn ich die richtige Abhängigkeit hatte, wurde das Problem erst behoben, nachdem ich den Ordner com.fasterxml.jackson im .m2-Repository unter C:\Users\username.m2 gelöscht und das Projekt aktualisiert hatte