struts核心包里面的AnnotationUtils 类的getAnnotatedMethods方法没有了,怎么解决报错信息java.lang.NoSuchMethodError: org.apache.commons.lang3.reflect.MethodUtils.getAnnotation(Ljava/lang/reflect/Method;Ljava/lang/Class;ZZ)Ljava/lang/annotation/Annotation; at org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:47) at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:247) at com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.doIntercept(ConversionErrorInterceptor.java:139) at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:247) at com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:134)
确实struts2.5.10升级到2.5.20后出现了这个问题,将commons-lang3-3.4替换为commons-lang3-3.6版本后好了
是不是你升级的jar包有问题
1.可能下载的jar有问题,比如缺少某个类
2.可能升级后的jar和以前的不兼容
建议:
更换jar包
问题解决了,还是commons-lang3-3.6.jar的问题,不过还是没弄明白到底问题在哪了,
lang包刚开始就换成最新的了,但是一直都会出问题,相关类里也没找到具体方法;
不过今天又把包换了一下,突然就好了,也在里面找到了该方法,包都是官网下载的,好妖的事情
jar包版本过低,去官网下载了一个新的jar包,可以