项目用的是struts 2.3.15.3 这个版本,项目中有用到 struts2-json-plugin-2.3.15.3.jar 这个jar包。当把log4j的日志级别调为error时,没出现问题。当把日志级别调为debug时,就会出现 java.lang.NoSuchFieldException: DEFAULT_PARAM.....但项目依然可以正常运行。
但我可以确定,我的项目配置是正确的。后来百度了一下,原来这是这个版本的一个bug问题,在org.apache.struts2.json.JSONResult 这个类中 是没有这个 DEFAULT_PARAM 属性的。
有兴趣的可以打开源码看一下,就明白了,其实这个异常信息不影响使用。如果要去除这个异常信息,可以找到源码,拷贝出来,在项目中自己创建一个同样的类,路径和类名都要一样,然后在类中加上 public static final String DEFAULT_PARAM = "status";这个属性就OK了。
后来到struts官网上看了下,当前最新的struts2版本是2.3.16。果断下载下来,引入到项目中,没有这个异常了,貌似新版本中已经解决了这个问题。
时间: 2024-11-05 00:52:07