项目用的是struts 2.3.15.3 这个版本,项目中有用到 struts2-json-plugin-2.3.15.3.jar 这个jar包。当把log4j的日志级别调为error时,没出现问题。当把日志级别调为debug时,就会出现 java.lang.NoSuchFieldException: DEFAULT_PARAM.....但项目依然可以正常运行。
这是这个版本struts2的一个bug问题,在org.apache.struts2.json.JSONResult 这个类中 是没有这个 DEFAULT_PARAM 属性的。
打开源码看一下,就明白了,这个异常信息不影响使用。如果要去除这个异常信息,可以找到源码,拷贝出来,在项目中自己创建一个同样的类,路径和类名都要一样,然后在类中加上 public static final String DEFAULT_PARAM = "status";这个属性就OK了。