在用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