由官方提供的解释可以知道应该是内部类或者接口和其他类的名称重复了
通过在源码中打断点可以发现确实有重复的名称但是定位到那个类发现并没有内部类
最后通过查看编译后的字节码发现由代码中使用JsonUtils的TypeReference最后导致生成了一个内部类
一开始只有一个实体类使用了这种写法,出现了多个之后就出现了异常,修改json的反序列化方式放弃TypeReference的使用
这种问题不容易发现,我们既要google也需要查看mybatis源码同时可能需要查看我们源代码编译后的字节码文件