从依赖项创建 class 路径资源 [rabbit-context.xml] 中定义的 bean 时出错

Error creating bean defined in class path resource [rabbit-context.xml] from dependency

我将 spring amqp 和 rabbitmq 版本从 1.7 升级到 2.2.8 Release 版本。构建部署因依赖服务 jar 中的此错误而失败。如何解决。

<dependency>
                <groupId>org.springframework.amqp</groupId>
                <artifactId>spring-amqp</artifactId>
                <version>2.2.8.RELEASE</version>
            </dependency>
                <dependency>
                    <groupId>org.springframework.amqp</groupId>
                    <artifactId>spring-rabbit</artifactId>
                    <version>2.2.8.RELEASE</version>
                </dependency>
Error creating bean with name 'amqpAdmin' defined in class path resource [rabbit-context.xml]: Invocation of init method failed; nested exception is java.lang.NoSuchMethodError: org.springframework.retry.policy.SimpleRetryPolicy.<init>(I)V
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1796)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:595)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:517)
        at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean[=13=](AbstractBeanFactory.java:323)
        at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:226)
        at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:321)
        at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202)```

看起来你有一个旧版本的 spring-在类路径上重试 - 该构造函数是在 1.1.4 中添加的。

您应该使用 1.2.5 或 1.3.0。

我发现失败的原因是许多依赖的 jar 仍然在 spring 兔子库的旧版本上。