我正在处理一个由Apache ant builder管理的Web应用程序。我们最近将jersey从2.17升级到2.35,并在类路径中升级了所有相关的依赖项。升级后,我注意到一个错误,其中PSOT方法参数填充为空。
为解决此问题进行了一些深入研究,发现jersey-media-json-binding.jar可能是导致此问题的原因。将其从类路径中删除,一切正常。
但是我不知道为什么这个问题会首先引起,这个jersey-media-json-binding.jar库有什么用。
jersey-media-json-binding.jar和jackson-jaxrs-json-provider-2.12.2.jar是否提供了相同的功能,而这正是导致此问题的原因?
1条答案
按热度按时间fdbelqdn1#
JSON-B是新的 default 提供者。(没有显式注册其他提供者),它 * 将 * 被使用。默认值过去是MOXy。如果您希望使用Jackson而不管类路径上是哪个提供者,只需在应用程序中注册
JacksonFeature
。所有这三个提供者都用于JSON支持,但它们在以下方面都有不同的行为此外,所有这些提供程序模块都有自动注册功能,这意味着您不必显式地注册它们。但是,有一个预定义的行为来决定哪一个模块优先(如果存在多个)。因此,如果您希望使用特定的一个特性,不管类路径上有哪些特性,只需注册它的特性(即JacksonFeature
、JsonBindingFeature
、MoxyJsonFeature
)。