jsongenerator - java.lang.NoClassDefFoundError: com/fasterxml/jackson/core/JsonFactory
jackson pom xml (5)
Estoy trabajando en ejemplos de muestra de YouTube broadcast
. He creado un Java Project
muestra y he agregado los archivos jar necesarios. Pero, cuando intento ejecutar el proyecto, se produce una excepción.
Excepción:
Throwable: com/fasterxml/jackson/core/JsonFactory
java.lang.NoClassDefFoundError: com/fasterxml/jackson/core/JsonFactory
at com.google.api.client.json.jackson2.JacksonFactory.<init>(JacksonFactory.java:44)
at com.google.api.services.samples.youtube.cmdline.live.Auth.<clinit>(Auth.java:35)
at com.google.api.services.samples.youtube.cmdline.live.CreateBroadcast.main(CreateBroadcast.java:55)
Caused by: java.lang.ClassNotFoundException: com.fasterxml.jackson.core.JsonFactory
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
... 3 more
Descargué el proyecto de este repositorio de GitHub .
A partir de la versión 2.7.4 de jackson (o quizás antes), la clase está en jacskon-jaxrs-base.jar, que está contenida en el jackson-jaxrs-json-provider
Agregue la siguiente dependencia a su pom.xml
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.5.2</version>
</dependency>
Debido a la versión anterior recibí este error. Entonces cambié a esta versión n error desaparecido Usando maven mi pom.xml
<jackson.version>2.5.2</jackson.version>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>${jackson.version}</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>${jackson.version}</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>${jackson.version}</version>
</dependency>
mi versión anterior era ''2.2.3''
El tarro solicitado probablemente no sea jackson- anotaciones -xyzjar sino jackson- core -xyzjar que se pueden encontrar aquí: http://www.java2s.com/Code/Jar/j/Downloadjacksoncore220rc1jar.htm
jackson-annotations-2.1.2.jar
agregar un jackson-annotations-2.1.2.jar
jar: jackson-annotations-2.1.2.jar
Puede descargarlo desde here y agregarlo a la ruta de clases. Si está usando el gradle, agregue la siguiente dependencia.
compile ''com.fasterxml.jackson.jaxrs:jackson-jaxrs-json-provider:2.5.2''