2017-05-07 2 views
0

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

Antwort

1

Werfen Sie einen Blick auf die class loading documentation. Möglicherweise müssen Sie eine Modulabhängigkeit hinzufügen, da nicht alle Module automatisch zu Deployments hinzugefügt werden.