Java jackson 2.4反序列化时寻找旧类
我正在用Tomcat7和JDK1.6开发一个restful服务。对于json处理,我使用的是jackson 2.4.2,它工作得很好,除非我尝试反序列化一个对象(序列化没有问题) 错误是:Java jackson 2.4反序列化时寻找旧类,java,json,jackson,jackson-modules,Java,Json,Jackson,Jackson Modules,我正在用Tomcat7和JDK1.6开发一个restful服务。对于json处理,我使用的是jackson 2.4.2,它工作得很好,除非我尝试反序列化一个对象(序列化没有问题) 错误是: java.lang.ClassNotFoundException: org.codehaus.jackson.JsonFactory 这就是jackson 1.x保留该特定类的地方。我的jackson 2.4.2在 com.fasterxml.jackson.core.JsonFactory 我不知道它为
java.lang.ClassNotFoundException: org.codehaus.jackson.JsonFactory
这就是jackson 1.x保留该特定类的地方。我的jackson 2.4.2在
com.fasterxml.jackson.core.JsonFactory
我不知道它为什么要把旧的类联系起来。我从未使用过jackson 1.x
我使用的是:
asm-3.3.1
commons-io-2.4
jackson-core-2.4.2
jackson-databind-2.4.2
jersey-bundle-1.18
mysql-connector-java-5.1.27
及
我从github拿的。哪个库可能正在尝试导入旧的jackson模块?任何帮助都将不胜感激。问题当然来自于试图使用Jackson 1.x
ObjectMapper
而缺少1.x的底层JsonFactory
。因为这些来自不同的罐子(jackson mapper asl和jackson core asl),所以很可能有一个不见了
现在,既然你们并没有直接使用Jackson1.x,问题是谁在使用:也许泽西依靠的是1.x
所以这里有两个相关的问题:(a)如果需要Jackson 1.x,那么也需要引入core jar,或者(b)如何完全取消Jackson 1.x的使用
请注意,从技术上讲,使用Jackson的1.x和2.x版本是完全可能的,因为2.x是专门为能够共存而设计的。这使得升级更加容易,并允许逐步(逐个组件)升级。据我所知,问题似乎在于jackson的json提供程序。messagebodywriter似乎可以工作,而messagebodyreader似乎承载着旧的导入。我已经排除了其他jar是问题的根源,因为我在使用xml时已经预先使用了它们,这很奇怪,因为从2.x到1.x之间确实不应该有任何依赖关系。如果你知道导入的来源,我很乐意帮你删除它。目前,我将jackson-mini-1.9jar添加到我的项目中,现在可以使用它了。如果我发现了,我会告诉你的。谢谢你花时间看我的问题
com.fasterxml.jackson.annotation