我正在尝试将当前项目从 Jackson 1.9 升级到 2.5。一切都很顺利,直到我尝试启动 WAS 7 服务器并收到此错误:



这似乎与尝试在下面的 web.xml 中注册 Jackson Provider 有关:

<!-- Jackson Provider -->
<bean id="jaxbProvider" class="com.fasterxml.jackson.jaxrs.json.JacksonJaxbJsonProvider" >
    <property name="mapper" ref="jacksonObjectMapper"/>
</bean>

<bean id="jacksonObjectMapper" class="com.fasterxml.jackson.databind.ObjectMapper" >
    <property name="annotationIntrospector" ref="jacksonAnnotationIntrospector"></property>
</bean>

<bean id="jacksonAnnotationIntrospector" class="com.fasterxml.jackson.databind.introspect.AnnotationIntrospectorPair" >
    <constructor-arg ref="primaryAnnotationIntrospector" />
    <constructor-arg ref="secondaryAnnotationIntrospector" />
</bean>

<bean id="primaryAnnotationIntrospector" class="com.fasterxml.jackson.module.jaxb.JaxbAnnotationIntrospector" />
<bean id="secondaryAnnotationIntrospector" class="com.fasterxml.jackson.databind.introspect.JacksonAnnotationIntrospector" />

我的类路径上有以下 jars:
jackson-annotations-2.5.0.jar
jackson-core-2.5.0.jar
jackson-databind-2.5.0.jar
jackson-jaxrs-json-provider-2.5.0.jar
jackson-module-jaxb-annotations.2.5.0.jar

现在根据我的理解,它正在寻找这个家伙:
com.fasterxml.jackson.jaxrs.base.ProviderBase

但找不到。谷歌搜索显示该类属于

jackson-jaxrs-provider 项目,但我找不到特定的 jar。我认为这是因为这只是我已经包含的 jackson-jaxrs-json-provider.2.5.0.jar 的基础。那么它本身不应该能够通过 jackson-jaxrs-json-provider.2.5.0.jar 看到该基类吗?

如果有人知道可能出什么问题,我将不胜感激!

谢谢。

最佳答案

如果您使用 Maven,添加 jackson-jaxrs-json-provider 作为依赖项,您将看到以下所有内容被拉入

(我有一张来自另一篇 v2.2.3 帖子的图片 - 忽略版本)

如您所见,它确实取决于 jackson-jaxrs-base ,这是 ProviderBase 所在的位置。

您可以下载 here(只需单击 2.5.0,然后单击 Download Bundle)

关于json - 使用 Spring 3.1.2 从 Jackson 1.9 升级到 2.5 的问题-找不到 ProviderBase 类,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29637051/

10-15 03:24