java.lang.NoSuchMethodError: com.opensymphony.xwork2.ActionContext.get(Ljava/lang/String;)Ljava/lang/Object;”异常,
导致该异常的是jsonplugin的jar包与Struts2的jar包不匹配引起的。
jsonplugin-0.33.jar Struts 2 JSON Plugin 0.33 匹配 Struts 2.1.x Compatible
jsonplugin-0.32.jar Struts 2 JSON Plugin 0.32 匹配 Struts 2.0.x Compatible
异常:java.lang.NoClassDefFoundError: com/opensymphony/xwork2/util/TextUtils
原因:jsonplugin-0.34.jar 配合 struts2-core-2.1.8.1.jar 使用的情况下报的异常,
但以前的项目中jsonplugin-0.34.jar 配合 struts2-core-2.1.6.jar 使用不会出现这样的异常
解决方法:去掉jsonplugin-0.34.jar,使用struts2-json-plugin-2.1.8.1.jar 和 json-lib-2.1.jar两个包 服务器没有异常,
后来在客户端跟踪到错误信息如下 java.lang.NoClassDefFoundError: org/apache/commons/beanutils/DynaBean缺少jar包造成 struts2.1.6+json用到的jar包总共如下
json-lib2.1.jar
json-lib2.1.jar
json-plugin-0.33.jar
ezmorph-1.0.3.jar
commons-beanutils-1.7.0.jar
我的是2.0如图:
com.googlecode.jsonplugin.JSONExeption: java.lang.IllegalAccessException: Class com.googlecode.jsonplugin.JSONWriter can not access a member of class org.apache.commons.dbcp.PoolingDataSource$PoolGuardConnectionWrapper with modifiers "public"
这个错误是action中的借口不能有get方法注释掉就行,反正spring注入,用set就可以
/*public UserService getUserService() {
return userService;
}*/
public void setUserService(UserService userService) {
this.userService = userService;
}