在用strtus2的json插件读取数据时,出现了包冲突的问题,搞了老半天才解决,
严重: 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)
我看了下xwork-core-2.1.6.jar下是没有com.opensymphony.xwork2.util.TextUtils这个类的,只有struts2.0的xwork才有,可是我的工程师struts2.1的,直接把以前的xwork2包弄进来是会报错的。百度看了下大概原因就是jar包不兼容。
CSDN案例:http://topic.csdn.net/u/20110422/17/a1440f07-f0c0-40d1-a572-f81e776ab180.html
但是没解决我的问题,然后在百度找到我解决方案:http://hi.baidu.com/ryan_lz/blog/item/fdc0340be00a958cd0581b19.html
在struts2 的官方上面说struts2.1.x要配合jsonplugin-0.33.jar使用
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 使用这三个包就不会出现冲突了
来源:oschina
链接:https://my.oschina.net/u/146658/blog/30191