4

我有一个在 Wildfly 10 上运行的应用程序,需要更新版本的 jackson。简单地更新 Maven 依赖项是行不通的。Wildflys 自己的版本似乎会干扰...

有人有提示吗?

4

1 回答 1

3

您可以将更新版本的 Jackson 添加到您的战争中并使用它,但容器(Resteasy)的 JAX-RS 子系统仍将使用它自己的 jackson 模块来(反)序列化您的 HTTP 请求/响应主体。

您可以添加一个具有较新版本的模块,但您可能会遇到与其他模块的依赖性问题(请参阅这个已被接受的拉取请求,因此它应该在下一个版本中,但我不知道任何计划的 Wildfly 版本日期)。

或者您可以打包您自己的 Jackson 版本并注册那些 MessageBodyReaders/Writers 以供 JAX-RS 使用。这应该可以完成这项工作。

@Provider
public class CustomJacksonJsonProvider extends JacksonJsonProvider {}

您可能还必须通过添加以下内容来排除内置 Jackson jboss-deployment-structure.xml

<?xml version="1.0" encoding="UTF-8"?>
<jboss-deployment-structure>
    <deployment>
        <exclusions>
            <module name="org.jboss.resteasy.resteasy-jackson-provider" />
        </exclusions>
    </deployment>
</jboss-deployment-structure>
于 2016-07-08T05:12:42.450 回答