【问题标题】:Wildfly 10 - How to use a newer version of jackson for an aplicationWildfly 10 - 如何在应用程序中使用更新版本的 jackson
【发布时间】:2016-10-03 14:54:57
【问题描述】:

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

有人有提示吗?

【问题讨论】:

  • 你为什么拒绝我的问题??

标签: jackson wildfly wildfly-10


【解决方案1】:

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

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

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

@Provider
public class CustomJacksonJsonProvider extends JacksonJsonProvider {}

您可能还需要通过添加 jboss-deployment-structure.xml 来排除内置 Jackson:

<?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-10-02
    • 2017-01-16
    • 2017-07-13
    • 1970-01-01
    • 2016-06-25
    • 2018-04-14
    • 2021-09-12
    • 1970-01-01
    • 2015-03-04
    相关资源
    最近更新 更多