WAS服务器中的org / codehaus / jackson / map / ObjectMapper.setSerializationInclusion异常

时间:2013-10-23 10:55:32

标签: java json rest jersey

我们正在研究使用以下jar的java rest web服务

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

使用上面的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;

2 个答案:

答案 0 :(得分:1)

从罐子里看起来你正在使用codehaus jackson:https://github.com/codehaus/jackson/而不是fastxml jackson:https://github.com/FasterXML/jackson。使用codehaus jackson,您的代码将如下所示: objectMapper.getSerializationConfig().setSerializationInclusion(Inclusion.NON_NULL)

答案 1 :(得分:0)

可能是杰克逊版本的碰撞。检查WAS是否在其类路径(库)

中包含Jackson jar