1

我有一个有趣的问题,我的 Wildfly 8.1 安装使用 Jackson(不是 Jackson 2)将类编组为 JSON。我想使用 Jettison 来利用我在课堂上的 JAXB 注释。

为了强制服务器使用 Jettison 而不是 Jackson,我执行了以下步骤:

  1. 修改了 POM.xml 依赖项以依赖于resteasy-jettison-provider模块,其范围设置为提供

    <依赖>
    <groupId>org.jboss.resteasy</groupId>
    <artifactId>resteasy-jettison-provider</artifactId><version>3.0.8.Final</version>
    <scope>provided</scope>
    </依赖>

  2. 修改了我的 WEB-INF 目录中的jboss-deployment-structure.xml以包含 jettison 模块并排除所有 jackson 模块:

    <jboss-deployment-structure>
    <deployment>
    <exclusions>
    <module name="org.jboss.resteasy.resteasy-jackson-provider"/>
    <module name="com.fasterxml.jackson.core.jackson-core"/ >
    < 模块名称="com.fasterxml.jackson.core.jackson-annotations" />
    < 模块名称="com.fasterxml.jackson.core.jackson-databind" />
    < 模块名称="com.fasterxml.jackson. jaxrs.jackson-jaxrs-json-provider" />
    < module name="org.jboss.resteasy.resteasy-jackson2-provider" />
    </ excludes >
    < dependencies >
    < module name="org.jboss.resteasy.resteasy-jettison-provider" />
    </ 依赖 >
    </ 部署 >
    </ jboss-部署结构>

当我启动服务器时,我发送一些简单的 JSON 来登录我的应用程序:

{ 
    "authRequest":   
    { 
      "appLogin":"restful",
      "appPassword":"mypassword" 
    }
}

但是,当我发送此代码段时,我从服务器收到以下异常:

    com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException:无法识别的字段“authRequest”(com.myapp.AppAuthRequest 类),未标记为可忽略

从那个例外来看,尽管我进行了配置,但似乎仍在使用 Jackson。

谁能指出我做错了什么或我有什么错误配置?

4

0 回答 0