2012-05-21 185 views
3

我升级我的maven项目使用Spring 3.0.7(从3.0.5)。现在,我所有的JUnit测试使用的junit测试失败与NoSuchMethodError BridgeMethodResolver.isVisibilityBridgeMethodPair

@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... 

回答

2

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

尽管事实上Eclipse报告的所有弹簧jar文件都是3.0.7,但我发现它挂在一个老的jar(3.0.5)的引用上。我通过从Maven Repository中删除所有现有的Spring文件并重建来发现此问题。然后我开始收到关于缺少$ M2_REPO/com/spring ...../3.0.5 jar文件的明确信息。