JAXRSUtils 未找到消息正文编写器 SpringBoot 3 & Apache CXF 4.0.0 & JDK17 问题

问题描述 投票:0回答:0

当我们从 SpringBoot 2 迁移到 3 并将 JDK 迁移到 17 并将 Apache CXF 版本从 3.4.10 升级到 4.0.0 时,在尝试将自定义对象作为 JSON 响应发送时,我们开始收到“没有找到类的消息正文编写器” .尝试包括 @Produces Annotation 和 Included Jackson Library 以及依赖项。在 jaxrs.classes-scan-packages 中包含 org.codehaus.jackson.jaxrs.JacksonJsonProvider。但它仍然无法将 Response 对象转换为 JSON。如果我使用对象映射器字符串手动将响应对象转换为 JSON 并将字符串作为响应传递,则它工作正常。而且,它对 String 和原始数据类型响应也能正常工作。仅为自定义对象获取错误。

尝试了以下步骤

  1. 在 jaxrs.classes-scan-packages 中包含 JSONProvider 包,这会导致相同的错误
  2. 尝试降级导致相同错误的 apache-cxf 版本
  3. 尝试使用 Fasterxml Jackson 以及 Codehaus Jackson - 出现同样的错误
  4. 包含 Jettison 依赖项 - 导致相同的错误。
spring-boot jax-rs cxf
最新问题
© www.soinside.com 2019 - 2024. All rights reserved.