2013-10-23 39 views
2

我们正在对其余的Java Web服务,我们使用的是下面的罐子组织/ Codehaus的/杰克逊/地图/ ObjectMapper.setSerializationInclusion例外WAS服务器

jackson-mapper-asl-1.9.2.jar 
jackson-jaxrs-1.9.2.jar 
jackson-core-asl-1.9.2.jar 
jackson-xc-1.9.2.jar 
org.json-20120521.jar 

使用下面的代码上面的罐子是工作在tomcat的罚款服务器。

ObjectMapper mapper = new ObjectMapper(); 
mapper.setSerializationInclusion(Inclusion.NON_NULL); 
String userJsonString = mapper.writeValueAsString(userJSON); 
JSONObject userJsonObj = new JSONObject(userJsonString); 

在部署这WAS我们有下面的错误服务器:

Error 500: javax.servlet.ServletException: java.lang.NoSuchMethodError: org/codehaus/jackson/map/ObjectMapper.setSerializationInclusion(Lorg/codehaus/jackson/map/annotate/JsonSerialize$Inclusion&#59;)Lorg/codehaus/jackson/map/ObjectMapper&#59; 

回答

0

这可能是杰克逊的版本冲突。检查WAS是否在其类路径中包含杰克逊罐子(库)

+0

这在我的经验中相当普遍,特别是在2.x和1.x版本之间。 – tom

+0

好的。我们已经在classpath IBM/WebSphere/AppServer/Lib.am中搜索过了吗? – user2210071

+0

我没有使用WAS。搜索IBM/WebSphere中的所有子目录。同时检查你的应用程序存档(战争或耳朵)是否没有重复的杰克逊罐子。 – ragnor