java - Jackson 1.8.5 (for JSON) 不反序列化 : "no such class found"

标签 java json jackson deserialization

我正在为我的 RESTful 服务使用 JSON,并且我有 JSON(作为有效载荷载体格式)。

我在接口(interface) IntA 上使用 @JsonTypeInfo(use = JsonTypeInfo.Id.CLASS, include = JsonTypeInfo.As.PROPERTY, property = "class")。类 SuperClass 实现了 IntAMyClass 扩展 SuperClass

我遇到的问题有点奇怪。当我使用独立的主程序序列化和反序列化我的类时,它工作得很好。但是,当我在 war 中将它部署到 tomcat 上并尝试反序列化时,它说找不到这样的类

堆栈跟踪:

Caused by: java.lang.IllegalArgumentException: Invalid type id 'com.abc.xyz.MyClass' (for id type 'Id.class'): no such class found
        at org.codehaus.jackson.map.jsontype.impl.ClassNameIdResolver.typeFromId(ClassNameIdResolver.java:55)
        at org.codehaus.jackson.map.jsontype.impl.TypeDeserializerBase._findDeserializer(TypeDeserializerBase.java:77)
        at org.codehaus.jackson.map.jsontype.impl.AsPropertyTypeDeserializer.deserializeTypedFromObject(AsPropertyTypeDeserializer.java:67)
        at org.codehaus.jackson.map.deser.BeanDeserializer.deserializeWithType(BeanDeserializer.java:423)
        at org.codehaus.jackson.map.deser.StdDeserializerProvider$WrappedDeserializer.deserialize(StdDeserializerProvider.java:460)
        at org.codehaus.jackson.map.ObjectMapper._readValue(ObjectMapper.java:2376)
        at org.codehaus.jackson.map.ObjectMapper.readValue(ObjectMapper.java:1166)
        at org.codehaus.jackson.jaxrs.JacksonJsonProvider.readFrom(JacksonJsonProvider.java:410)
        at org.apache.cxf.jaxrs.client.AbstractClient.readBody(AbstractClient.java:447)

非常感谢任何帮助。

最佳答案

这听起来像是一个类路径问题:也就是说,Jackson 代码无法使用其类加载器找到命名类。如果可能的话,也许你可以看看 Jackson 和 value class 的 jar 是从哪里来的,看看这是否能解释它。不幸的是,类路径问题在 servlet 容器部署中非常臭名昭著。

关于java - Jackson 1.8.5 (for JSON) 不反序列化 : "no such class found",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12202522/

相关文章:

java - 将 EJB3 注入(inject)基于注释的 JSF2 支持 bean 导致 javax.naming.NameNotFoundException :

java - 从名为 "- iPhone"的特殊目录中的 Excel VBA 宏启动自动摄取工具

java - 关系数据库(H2、Java): How do I constrain a foreign key to NOT match another foreign key in the same table?

objective-c - 从 JSON 到 NSObjects 的对象映射库

python - 为什么 “sort”出现在elasticsearch的这个JSON中?

jackson - 如何在 Kotlin 中使用 Jackson JsonSubTypes 注解

java - Jersey 2 多部分/表单数据问题。输入流为空(可用=0)

java - hibernate 标准中 LEFT_JOIN 中的 OR 子句

html - 为什么我的 d3.tip 不起作用?

java - 如何在 json 中仅显示 oneToMany 中实体的一个属性?