Um die Entwicklung meiner Endpunkte, die JSON zurückgeben, zu erleichtern, möchte ich Prettyprinting aktivieren.WildFly 10 NoDefClassFound com/schnellerxml/jackson/jaxrs/cfg/ObjectWriterModifier
Die solution I'm tyring to implement fügt einen Filter hinzu, der einen ObjectWriterModifier einfügt, der den Standard-Pretty-Drucker aktiviert, wenn die Abfragezeichenfolge "pretty = 1" lautet.
Deployment fehlschlägt, da es nicht die Klasse com/fasterxml/jackson/jaxrs/cfg/ObjectWriterModifier
, die in jackson-jaxrs-base-2.7.4.jar
unter modules/system/layer/base/com/fasterxml/jackson/core/jaxrs/jackson-jaxrs-json-provider
meiner Wildfly 10-Installation enthalten ist, finden.
In meinem build.gradle kann ich die dependicy angeben ausgestattet:
dependencies {
providedCompile 'javax:javaee-api:7.0'
providedCompile 'com.fasterxml.jackson.core:jackson-core:2.7.4'
providedCompile 'com.fasterxml.jackson.core:jackson-annotations:2.7.4'
providedCompile 'com.fasterxml.jackson.jaxrs:jackson-jaxrs-json-provider:2.7.4'
}
Hier ist module.xml für Jackson-jaxrs-json-Anbieter
<module xmlns="urn:jboss:module:1.3" name="com.fasterxml.jackson.jaxrs.jackson-jaxrs-json-provider">
<resources>
<resource-root path="jackson-jaxrs-json-provider-2.7.4.jar"/>
<resource-root path="jackson-jaxrs-base-2.7.4.jar"/>
<resource-root path="jackson-module-jaxb-annotations-2.7.4.jar"/>
</resources>
<dependencies>
<module name="javax.api"/>
<module name="javax.ws.rs.api"/>
<module name="javax.xml.bind.api"/>
<module name="com.fasterxml.jackson.core.jackson-annotations"/>
<module name="com.fasterxml.jackson.core.jackson-core"/>
<module name="com.fasterxml.jackson.core.jackson-databind"/>
</dependencies>
</module>
Ich sehe nicht, wie WildFly eine Klasse nicht finden kann, die in einem der Gläser ist, die es zur Verfügung stellt