2017-05-07 125 views
0

为了简化开发我的端点返回JSON,我想启用prettyprinting。WildFly 10 NoDefClassFound com/fasterxml/jackson/jaxrs/cfg/ObjectWriterModifier

solution I'm tyring to implement正在添加一个过滤器,该过滤器注入一个ObjectWriterModifier以启用默认漂亮打印机,如果查询字符串是?pretty = 1。因为它无法找到这是我WildFly 10安装modules/system/layer/base/com/fasterxml/jackson/core/jaxrs/jackson-jaxrs-json-provider下包含在jackson-jaxrs-base-2.7.4.jarcom/fasterxml/jackson/jaxrs/cfg/ObjectWriterModifier

部署失败。

在我的build.gradle我做指定dependicy为提供:

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' 
} 

这里是module.xml为杰克逊JAXRS JSON的提供商

<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> 

我没有看到WildFly如何找不到它所提供的其中一个罐子里面的班级

回答

1

查看class loading documentation。您可能需要添加模块依赖项,因为所有模块不会自动添加为部署的依赖项。