在用strtus2的json插件讀取數據時,出現了包衝突的問題,搞了老半天才解決,html
嚴重: Servlet.service() for servlet default threw exception
java.lang.NoClassDefFoundError: com/opensymphony/xwork2/util/TextUtils
at com.googlecode.jsonplugin.JSONUtil.writeJSONToResponse(JSONUtil.java:197)
at com.googlecode.jsonplugin.JSONResult.writeToResponse(JSONResult.java:192)
at com.googlecode.jsonplugin.JSONResult.execute(JSONResult.java:182)java
我看了下xwork-core-2.1.6.jar下是沒有com.opensymphony.xwork2.util.TextUtils這個類的,只有struts2.0的xwork纔有,但是個人工程師struts2.1的,直接把之前的xwork2包弄進來是會報錯的。百度看了下大概緣由就是jar包不兼容。json
CSDN案例:http://topic.csdn.net/u/20110422/17/a1440f07-f0c0-40d1-a572-f81e776ab180.htmljsonp
可是沒解決個人問題,而後在百度找到我解決方案:http://hi.baidu.com/ryan_lz/blog/item/fdc0340be00a958cd0581b19.htmlgoogle
在struts2 的官方上面說struts2.1.x要配合jsonplugin-0.33.jar使用.net
struts2.0.x配合jsonplugin-0.32.jar插件
我用的是struts2.1.8和jsonplugin-0.33.jar 可是仍是出現上面那個錯誤,後來通過高人的指點終於解決了這個問題解決方案:將jsonplugin-0.33.jar替換成json-lib-2.1.jar、struts2-json-plugin-2.1.8.1.jar、struts2-junit-plugin-2.1.8.1.jar 使用這三個包就不會出現衝突了code