使用NoSuchMethodError进行junit测试失败BridgeMethodResolver.isVisibilityBridgeMethodPair

时间:2012-05-21 10:36:12

标签: spring maven junit

我将我的maven项目升级为使用Spring 3.0.7(从3.0.5开始)。现在,我使用

的所有junit测试
@RunWith(SpringJUnit4ClassRunner.class)

注释失败(下面有例外),但仅限于在Eclipse中运行时。我正在运行“Eclipse Indigo Service Release 2”。当我从linux控制台运行时,一切都过去了。

之前有人遇到过这个问题吗?

java.lang.NoSuchMethodError: org.springframework.core.BridgeMethodResolver.isVisibilityBridgeMethodPair(Ljava/lang/reflect/Method;Ljava/lang/reflect/Method;)Z
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.buildAutowiringMetadata(AutowiredAnnotationBeanPostProcessor.java:346)
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.findAutowiringMetadata(AutowiredAnnotationBeanPostProcessor.java:317)
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessMergedBeanDefinition(AutowiredAnnotationBeanPostProcessor.java:216)
at  
etc & so forth...

1 个答案:

答案 0 :(得分:2)

已解决 - 并且在类路径上同时拥有3.0.5和3.0.7 JAR。我从这个问题中得到了一个线索:Error loading Jar file with Tomcat 7, Spring 3 and Camel 2.9.1

尽管Eclipse报告的所有spring jar文件都是3.0.7,但我发现它挂在了对旧jar(3.0.5)的引用上。我通过删除Maven资源库中的所有现有spring文件并重建来找到它。然后我开始获得关于缺少$ M2_REPO / com / spring ..... / 3.0.5 jar文件的显式消息。