Java 使用Jackson@JsonDeserialize注释时发生IllegalStateException

Java 使用Jackson@JsonDeserialize注释时发生IllegalStateException,java,json,jackson,deserialization,json-deserialization,Java,Json,Jackson,Deserialization,Json Deserialization,我正在尝试使用Jackson中的自定义反序列化程序来反序列化一些json对象。但是,当我尝试让ObjectMapper读取json时,会出现以下异常: java.lang.IllegalStateException: AnnotationIntrospector returned Class com.Geometry.GeometryDeserializer; expected Class<JsonDeserializer> …我在课堂上的组合: abstract class Mi

我正在尝试使用Jackson中的自定义反序列化程序来反序列化一些json对象。但是,当我尝试让ObjectMapper读取json时,会出现以下异常:

java.lang.IllegalStateException: AnnotationIntrospector returned Class com.Geometry.GeometryDeserializer; expected Class<JsonDeserializer>
…我在课堂上的组合:

abstract class MixIn {
    @JsonDeserialize(using=GeometryDeserializer.class)
    abstract void setGeometry(Geometry geometry);
}
…和我的反序列化程序:

public class GeometryDeserializer extends JsonDeserializer<Geometry> {
    @Override
    public Geometry deserialize(JsonParser jp, DeserializationContext dc) throws IOException, JsonProcessingException {
        //stuff happens
    }
}
公共类GeometryDeserializer扩展JsonDeserializer{
@凌驾
公共几何体反序列化(JsonParser jp,反序列化上下文dc)引发IOException,JsonProcessingException{
//事情发生了
}
}
任何反馈/协助都将非常感谢


谢谢

胡乱猜测:你不小心混淆了Jackson 1.x和Jackson 2.x类型?类名基本上是相同的,但存在于不同的包中——当使用一组类时,情况会发生变化,但IDE可能会导致意外的混淆

public class GeometryDeserializer extends JsonDeserializer<Geometry> {
    @Override
    public Geometry deserialize(JsonParser jp, DeserializationContext dc) throws IOException, JsonProcessingException {
        //stuff happens
    }
}