java.lang.NoSuchMethodException 解决办法

最近在学习struts2+spring+hibernate的使用.遇到以下问题:程序运行访问Action中的方法时抛出以下异常:

java.lang.NoSuchMethodException: $Proxy5.list()
at java.lang.Class.getMethod(Class.java:1605)
at org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.getActionMethod(AnnotationValidationInterceptor.java:55)
at org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:41)
at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:86)
at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:224)
.........
我在网上查了一些资料,发现有两种错误可能引起上述异常:
一.Action 类的方法被定义成 private 类型.
Action 中被访问的方法被定义成 private 类型.程序在访问其方法时,会抛出以上异常.
二.Action 类继承了 ActionSupport 类,时 程序在访问其方法时,也会抛出上述异常.
综上所述,Action 中的类一定要在定义成public 类型,且不能继承 ActionSupport 类.

你可能感兴趣的:(java,apache,spring,Hibernate)