2012-05-21 184 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文件的明確信息。