问题描述:
Exception in thread "main" java.lang.NoSuchMethodError: org.springframework.core.annotation.AnnotationUtils.clearCache()V
在创建ClassPathXmlApplicationContext时报错。
解决方法:
可能是jar包冲突,即项目中存在两个或两个以上不同版本的同名jar包。比如:a.1.jar,a.2.jar。
一、这个冲突可能是显式的,比如有两个<dependency>标签,它们只有<version>不同。
二、也可能是隐式的,即是由传递依赖导致的。比如有个x的<dependency>,依赖a.1.jar;有个y的<dependency>,依赖a.2.jar。
我自己项目的问题属于第二种情况,查看Maven:
可以发现,倒数第二、三行是灰的,并且行末的括号中指明了有冲突。
怎么办?
看下图:
由图可知,把spring-jdbc和spring-context改成相同版本即可
改之前:
改之后:
Over!