What's the Faster XML version that works with Swagger?
java.lang.NoSuchMethodError: com.fasterxml.jackson.databind.introspect.AnnotatedClass.construct(Ljava/lang/Class;Lcom/fasterxml/jackson/databind/AnnotationIntrospector;Lcom/fasterxml/jackson/databind/introspect/ClassIntrospector$MixInResolver;)Lcom/fasterxml/jackson/databind/introspect/AnnotatedClass;
at org.restlet.ext.platform.internal.introspection.application.RepresentationCollector.addRepresentation(RepresentationCollector.java:124)
at org.restlet.ext.platform.internal.introspection.application.ResourceCollector.completeOperationInput(ResourceCollector.java:270)
at org.restlet.ext.platform.internal.introspection.application.ResourceCollector.completeOperation(ResourceCollector.java:192)
at org.restlet.ext.platform.internal.introspection.application.ResourceCollector.collectResource(ResourceCollector.java:125)
at org.restlet.ext.platform.internal.introspection.application.RestletCollector.collectForFinder(RestletCollector.java:100)
at org.restlet.ext.platform.internal.introspection.application.RestletCollector.collect(RestletCollector.java:64)
at org.restlet.ext.platform.internal.introspection.application.RestletCollector.collectForRoute(RestletCollector.java:116)
at org.restlet.ext.platform.internal.introspection.application.RestletCollector.collectForRouter(RestletCollector.java:136)
at org.restlet.ext.platform.internal.introspection.application.RestletCollector.collect(RestletCollector.java:55)
at org.restlet.ext.platform.internal.introspection.application.RestletCollector.collectForFilter(RestletCollector.java:80)
at org.restlet.ext.platform.internal.introspection.application.RestletCollector.collect(RestletCollector.java:61)
at org.restlet.ext.platform.internal.introspection.application.RestletCollector.collectForFilter(RestletCollector.java:80)
at org.restlet.ext.platform.internal.introspection.application.RestletCollector.collect(RestletCollector.java:61)
at org.restlet.ext.platform.internal.introspection.application.RestletCollector.collectForFilter(RestletCollector.java:80)
at org.restlet.ext.platform.internal.introspection.application.RestletCollector.collect(RestletCollector.java:61)
at org.restlet.ext.platform.internal.introspection.application.ApplicationIntrospector.getDefinition(ApplicationIntrospector.java:169)
at org.restlet.ext.swagger.Swagger2SpecificationRestlet.getDefinition(Swagger2SpecificationRestlet.java:169)
at org.restlet.ext.swagger.Swagger2SpecificationRestlet.getSwagger(Swagger2SpecificationRestlet.java:189)
at org.restlet.ext.swagger.Swagger2SpecificationRestlet.handle(Swagger2SpecificationRestlet.java:215)
My project dependencies at the moment:
[INFO] +- org.restlet.jee:org.restlet.ext.swagger:jar:2.4.0:compile
[INFO] | +- org.scala-lang:scala-library:jar:2.9.1:compile
[INFO] | +- org.scala-lang:scalap:jar:2.9.1:compile
[INFO] | | \- org.scala-lang:scala-compiler:jar:2.9.1:compile
[INFO] | +- com.wordnik:swagger-models:jar:1.5.3-M1:compile
[INFO] | +- javax.ws.rs:javax.ws.rs-api:jar:2.0:compile
[INFO] | +- com.fasterxml.jackson.dataformat:jackson-dataformat-csv:jar:2.4.4:compile
[INFO] | +- com.fasterxml.jackson.dataformat:jackson-dataformat-smile:jar:2.4.4:compile
[INFO] | +- com.fasterxml.jackson.dataformat:jackson-dataformat-xml:jar:2.4.4:compile
[INFO] | +- com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:jar:2.4.4:compile
[INFO] | +- com.fasterxml.jackson.module:jackson-module-jaxb-annotations:jar:2.4.4:compile
[INFO] | +- com.fasterxml.jackson.module:jackson-module-jsonSchema:jar:2.4.4:compile
And
[INFO] +- com.fasterxml.jackson.datatype:jackson-datatype-jdk8:jar:2.10.0:compile
[INFO] +- com.fasterxml.jackson.core:jackson-databind:jar:2.10.0:compile
[INFO] +- com.fasterxml.jackson.core:jackson-annotations:jar:2.10.0:compile
[INFO] +- com.fasterxml.jackson.core:jackson-core:jar:2.10.0:compile
I'm trying to figure out what could be wrong. What could have mixed up here?
This could work:
With this version of Jackson:
<jackson.version>2.4.4</jackson.version>
And
<dependency>
<groupId>com.fasterxml.jackson.datatype</groupId>
<artifactId>jackson-datatype-jdk8</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>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>${jackson.version}</version>
</dependency>
The idea is to make sure to have the same Jackson version with the one that Restlet swagger have in it's dependency tree.