3

我升级了我的 Maven 项目以使用 Spring 3.0.7(来自 3.0.5)。现在,我所有使用

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

1 回答 1

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 文件的明确消息。

于 2012-05-21T13:59:36.630 回答