配置Wildfly 8.1以使用Jettison

时间:2014-10-13 13:40:58

标签: json jaxb jackson wildfly jettison

我有一个有趣的问题,我的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>     <版本> 3.0.8.Final< / version>
        <范围>提供< / scope>
    < / dependency>

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

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

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

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

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

        com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException: Unrecognized field "authRequest" (class com.myapp.AppAuthRequest), not marked as ignorable
    

    从这个例外情况来看,尽管我配置了杰克逊仍然在使用它。

    任何人都可以指出我做错了什么或我有什么错误配置吗?

0 个答案:

没有答案