2013-10-23 68 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