在struts2.3的时候,增加了commons-lang3-3.2.jar的情况下,使用如下代码:
import net.sf.json.JSONArray;
JSONArray jo=JSONArray.fromObject(li);
jsonRoot=jo.toString();
产生:java.lang.NoClassDefFoundError: org/apache/commons/lang/exception/NestableRuntimeException的问题。
原因:在新的commons-lang3-3.2架包中找不到net.sf.json.JSONArray的方法。所以在代码调试的时候,执行到该行代码,没有该方法的错误。
这个错误之前没有遇到过,在解决的过程中阅读了大量与该问题相关的文档。貌似都没有好的解决方案,之后,我就想这个json是要用net.sf.json.JSONArray的方法,在commons-lang3-3.2.jar中没有,那么在commons-lang-2.4.jar中有,我就把这两个jar都放到项目的lib目录下,之后就解决了。
解决方案:commons-lang-2.4.jar和commons-lang3-3.2.jar都放到lib文件夹下。
注意:这里还有一个小细节,struts2.3的时候,不能用commons-lang-2.4.jar会产生版本错误。
到此,这就是我的分享。希望对你有帮助。
菜鸟错误,完美解决!