Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java jackson 2.4反序列化时寻找旧类_Java_Json_Jackson_Jackson Modules - Fatal编程技术网

Java jackson 2.4反序列化时寻找旧类

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 我不知道它为

我正在用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
我不知道它为什么要把旧的类联系起来。我从未使用过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