【问题标题】:WildFly 10 NoDefClassFound com/fasterxml/jackson/jaxrs/cfg/ObjectWriterModifierWildFly 10 NoDefClassFound com/fasterxml/jackson/jaxrs/cfg/ObjectWriterModifier
【发布时间】:2017-10-05 10:54:41
【问题描述】:

为了便于开发返回 JSON 的端点,我想启用漂亮打印。

solution I'm tyring to implement 正在添加一个过滤器,如果查询字符串是 ?pretty=1,则该过滤器会注入一个启用默认漂亮打印机的 ObjectWriterModifier。

部署失败,因为找不到类com/fasterxml/jackson/jaxrs/cfg/ObjectWriterModifier

包含在我的 WildFly 10 安装的 modules/system/layer/base/com/fasterxml/jackson/core/jaxrs/jackson-jaxrs-json-provider 下的 jackson-jaxrs-base-2.7.4.jar 中。

在我的 build.gradle 中,我确实指定了所提供的依赖项:

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

这里是 jackson-jaxrs-json-provider 的 module.xml

<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 怎么找不到它提供的一个 jar 中的类

【问题讨论】:

    标签: json jackson wildfly pretty-print wildfly-10


    【解决方案1】:

    看看class loading documentation。您可能需要添加模块依赖项,因为并非所有模块都自动作为依赖项添加到部署中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-11-10
      • 2020-11-24
      • 2015-08-02
      • 1970-01-01
      • 2021-10-08
      • 2021-12-09
      • 2018-04-26
      • 2022-09-20
      相关资源
      最近更新 更多