Spring Payara 5 启动时出现 MVC Jackson 异常
Spring MVC Jackson Exception on Payara 5 startup
我的应用程序使用以下内容:
JDK 版本:打开 JDK
jdk-11.0.11+9
Payara : 5.2021.5
Spring 版本: 5.2.7.RELEASE
杰克逊版本:2.9.4。
Payara 5.2021.5 使用 Jackson 版本 2.10.2,而应用程序使用 Jackson 版本:2.9.4。 SpringMVC 使用的一些 Jackson 方法的方法签名似乎在 Jackson 2.10.2 中发生了变化。
服务器启动时,抛出以下异常:
Details: Location: org/springframework/http/converter/json/Jackson2ObjectMapperBuilder$XmlObjectMapperInitializer.create
(Lcom/fasterxml/jackson/core/JsonFactory;)Lcom/fasterxml/jackson/databind/ObjectMapper; @15: areturn Reason: Type 'com/fasterxml/jackson/dataformat/xml/XmlMapper' (current frame, stack[0]) is not assignable to 'com/fasterxml/jackson/databind/ObjectMapper' (from method signature)
我尝试通过在 glassfish-web.xml 中设置元素来在本地禁用 class 加载层次结构,在 fish.payara.classloading.delegate 中将系统 属性 fish.payara.classloading.delegate 设置为 false =33=]
我还尝试按照文档中的建议将以下内容添加到 web.xml 以及 DispatcherServlet 的 init 参数,但似乎没有帮助-
<context-param>
<param-name>jersey.config.jsonFeature</param-name>
<param-value>JacksonFeature</param-value>
</context-param>
尝试通过在 glassfish-web.xml 中设置元素来在本地禁用 class 加载层次结构。看起来 Payara 忽略了这个标志并继续加载 \payara-5.2021.5\payara5\glassfish\modules 中的库,而不是从应用程序加载。我什至尝试用 payara-web.xml
替换 glassfish-web.xml
通过在 domain.xml 中将系统 属性 fish.payara.classloading.delegate 设置为 false 解决了这个问题。
我的应用程序使用以下内容:
JDK 版本:打开 JDK
jdk-11.0.11+9
Payara : 5.2021.5
Spring 版本: 5.2.7.RELEASE
杰克逊版本:2.9.4。
Payara 5.2021.5 使用 Jackson 版本 2.10.2,而应用程序使用 Jackson 版本:2.9.4。 SpringMVC 使用的一些 Jackson 方法的方法签名似乎在 Jackson 2.10.2 中发生了变化。
服务器启动时,抛出以下异常:
Details: Location: org/springframework/http/converter/json/Jackson2ObjectMapperBuilder$XmlObjectMapperInitializer.create
(Lcom/fasterxml/jackson/core/JsonFactory;)Lcom/fasterxml/jackson/databind/ObjectMapper; @15: areturn Reason: Type 'com/fasterxml/jackson/dataformat/xml/XmlMapper' (current frame, stack[0]) is not assignable to 'com/fasterxml/jackson/databind/ObjectMapper' (from method signature)
我尝试通过在 glassfish-web.xml 中设置元素来在本地禁用 class 加载层次结构,在 fish.payara.classloading.delegate 中将系统 属性 fish.payara.classloading.delegate 设置为 false =33=]
我还尝试按照文档中的建议将以下内容添加到 web.xml 以及 DispatcherServlet 的 init 参数,但似乎没有帮助-
<context-param>
<param-name>jersey.config.jsonFeature</param-name>
<param-value>JacksonFeature</param-value>
</context-param>
尝试通过在 glassfish-web.xml 中设置元素来在本地禁用 class 加载层次结构。看起来 Payara 忽略了这个标志并继续加载 \payara-5.2021.5\payara5\glassfish\modules 中的库,而不是从应用程序加载。我什至尝试用 payara-web.xml
替换 glassfish-web.xml通过在 domain.xml 中将系统 属性 fish.payara.classloading.delegate 设置为 false 解决了这个问题。