Wildfly 10 - 如何将更新版本的 jackson 用于应用程序
Wildfly 10 - How to use a newer version of jackson for an aplication
我在 wildfly 10 上有一个应用程序 运行,它需要更新版本的 jackson。简单地更新 Maven 依赖项是行不通的。 Wildflys 自己的版本似乎干扰...
有人有提示吗?
您可以将更新版本的 Jackson 添加到您的 war 并使用它,但容器 (Resteasy) 的 JAX-RS 子系统仍将使用它自己的 jackson 模块来(反)序列化您的 HTTP request/response 尸体。
您可以添加一个具有较新版本的模块,但您可能 运行 陷入与其他模块的依赖性问题(参见 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>
我在 wildfly 10 上有一个应用程序 运行,它需要更新版本的 jackson。简单地更新 Maven 依赖项是行不通的。 Wildflys 自己的版本似乎干扰...
有人有提示吗?
您可以将更新版本的 Jackson 添加到您的 war 并使用它,但容器 (Resteasy) 的 JAX-RS 子系统仍将使用它自己的 jackson 模块来(反)序列化您的 HTTP request/response 尸体。
您可以添加一个具有较新版本的模块,但您可能 运行 陷入与其他模块的依赖性问题(参见 this pull request 已经被接受,因此它应该在下一个版本中,但我不知道任何计划的 Wildfly 发布日期)。
或者您可以打包您自己的 Jackson 版本并注册那些 MessageBodyReaders/Writers 以供 JAX-RS 使用。这应该可以完成工作。
@Provider
public class CustomJacksonJsonProvider extends JacksonJsonProvider {}
您可能还必须通过添加 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>