我将我的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...
答案 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文件的显式消息。