Je suis nouveau à Jackson et j'écrivais du code pour la pratique. J'ai découvert que la nouvelle version de la bibliothèque Jackson se trouve sur Fasterxml: Jackson , j'ai donc ajouté les dépendances ci-dessous à mon fichier pav Maven:
<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>
Je m'attendais à pouvoir utiliser directement la ObjectMapper
; cependant, après avoir passé beaucoup de temps, j'ai découvert que pour utiliser la ObjectMapper
, je devais ajouter les anciennes bibliothèques ci-dessous:
<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>
Je suis un peu confus. Quelqu'un pourrait-il s'il vous plaît me dire pourquoi est-ce?
<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>
vous avez un objet ObjectMapper (du paquet Jackson Databind) à portée de main . Si oui, vous pouvez faire:
JsonFactory factory = objectMapper.getFactory();
Source: https://github.com/FasterXML/jackson-core
Ainsi, les 3 dépendances "plus rapides" que vous avez déjà dans votre pom suffisent à ObjectMapper car il inclut jackson-databind.
Non, vous pouvez simplement utiliser com.fasterxml.jackson.databind.ObjectMapper
. Vous avez probablement oublié de corriger vos instructions import
-, supprimez toutes les références à codehaus et vous êtes en or.
En plus de réparer les importations, faites un maven clean compile -U
frais. Notez l'option -U
, qui introduit de nouvelles dépendances avec lesquelles l'éditeur a parfois du mal à fonctionner. Laissez la compilation échouer à cause de classes non importées, mais vous avez au moins la possibilité de les importer après la commande maven.
Faire juste Maven-> Réimporter d'Intellij n'a pas fonctionné pour moi.
J'ai passé quelques heures à ce sujet.
Même si j'avais la bonne dépendance, le problème n'était résolu qu'après avoir supprimé le dossier com.fasterxml.jackson dans le référentiel .m2 sous C:\Users\nomutilisateur.m2 et mis à jour le projet.