java - objectidresolver - objectmapper jackson dependency
java.lang.ClassNotFoundException: com.fasterxml.jackson.annotation.JsonInclude $ Value (5)
¿Qué hay de agregar esto a su pom.xml
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>${jackson.version}</version>
</dependency>
Estoy tratando de convertir mi cadena json en un objeto java y me aparece un error
Excepción en el hilo "main" java.lang.NoClassDefFoundError: com / fasterxml / jackson / annotation / JsonInclude $ Value en com.fasterxml.jackson.databind.cfg.MapperConfig. (MapperConfig.java:45) en com.fasterxml.jackson. databind.ObjectMapper. (ObjectMapper.java:535) en com.fasterxml.jackson.databind.ObjectMapper. (ObjectMapper.java:452) en com.allianz.cmis.util.ApacheHttpClientGet.main (ApacheHttpClientGet.jpg : java.lang.ClassNotFoundException: com.fasterxml.jackson.annotation.JsonInclude $ Value en java.net.URLClassLoader $ 1.run (URLClassLoader.java:366) en java.net.URLClassLoader $ 1.run (URLClassLoader.java:535) at java.security.AccessController.doPrivileged (Native Method) en java.net.URLClassLoader.findClass (URLClassLoader.java:354) at java.lang.ClassLoader.loadClass (ClassLoader.java:425) at sun.misc.Launcher $ AppClassoader .loadClass (Launcher.java:308) en java.lang.ClassLoader.loadClass (ClassLoader.java:358) ... 4 más
Aquí está mi cadena json y mi fragmento de código
json cadena {''ctpnsw'': [{''abc'' , ''def'' }]}
modelo
public class Fields {
private List<String> ctpnsw;
public List<String> getCtpnsw() {
return ctpnsw;
}
public void setCtpnsw(List<String> ctpnsw) {
this.ctpnsw = ctpnsw;
}
}
Código Java
ObjectMapper mapper = new ObjectMapper(); List<Fields> list = mapper.readValue(output, TypeFactory.defaultInstance().constructCollectionType(List.class,Fields.class)); System.out.println(list);
Jackson marshalling / unmarshalling requiere los siguientes archivos jar de la misma versión.
jackson-core
jackson-databind
Jackson-anotaciones
Asegúrese de haber agregado todos estos con la misma versión en su classpath. En su caso , faltan las anotaciones de jackson en classpath.
Obtén los 3 tarros jackson y agrégalos a tu ruta de compilación:
https://mvnrepository.com/artifact/com.fasterxml.jackson.core
Tuve el mismo mensaje de error. En mi caso, Jackson consistía en múltiples archivos JAR. Lamentablemente, tenían diferentes versiones de las anotaciones de jackson-core y jackson que dieron como resultado la excepción anterior.
Tal vez no tenga el JAR de anotación de jackson en su ruta de clase, al menos no en la versión correcta. Puede analizar las versiones de biblioteca utilizadas con el comando mvn dependency:tree
.
esta es una versión de cambio de problema versión 2.4 a 1.9 resuélvela
<dependency>
<groupId>com.fasterxml.jackson.jaxrs</groupId>
<artifactId>jackson-jaxrs-xml-provider</artifactId>
<version>2.4.1</version>
a
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-mapper-asl</artifactId>
<version>1.9.4</version>