我有一个有趣的问题,我的Wildfly 8.1安装使用Jackson(不是Jackson 2)来编组JSON类。我想使用Jettison来利用我在课堂上的JAXB注释。
为了强制服务器使用Jettison而不是Jackson,我执行了以下步骤:
修改POM.xml依赖项以依赖于 resteasy-jettison-provider 模块,并将范围设置为提供
<依赖>
< groupId> org.jboss.resteasy< / groupId>
< artifactId> resteasy-jettison-provider< / artifactId>
<版本> 3.0.8.Final< / version>
<范围>提供< / scope>
< / dependency>
修改了我的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>
当我启动服务器时,我发送一个简单的JSON来登录我的应用程序:
{
"authRequest":
{
"appLogin":"restful",
"appPassword":"mypassword"
}
}
但是,当我发送此代码片段时,我从服务器收到以下异常:
com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException: Unrecognized field "authRequest" (class com.myapp.AppAuthRequest), not marked as ignorable
从这个例外情况来看,尽管我配置了杰克逊仍然在使用它。
任何人都可以指出我做错了什么或我有什么错误配置吗?