【问题标题】:org.springframework.beans.factory.annotation.AnnotatedBeanDefinition.setRole(I)V when @EnableKafkaorg.springframework.beans.factory.annotation.AnnotatedBeanDefinition.setRole(I)V 当@EnableKafka
【发布时间】:2019-02-10 18:13:34
【问题描述】:

org.springframework.beans.factory.annotation.AnnotatedBeanDefinition.setRole(I)V

在配置类中设置@EnableKafka 时发生这种情况

maven 依赖:

<dependency>
    <groupId>org.springframework.security</groupId>
    <artifactId>spring-security-config</artifactId>
    <version>5.0.5.RELEASE</version>
</dependency>
<dependency>
     <groupId>org.springframework</groupId>
     <artifactId>spring-webmvc</artifactId>
     <version>5.0.6.RELEASE</version>
</dependency>
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-context-support</artifactId>
    <version>5.1.4.RELEASE</version>
</dependency>
    <dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-context</artifactId>
    <version>5.1.4.RELEASE</version>
</dependency>
<dependency>
    <groupId>org.springframework.kafka</groupId>
    <artifactId>spring-kafka</artifactId>
    <version>2.2.3.RELEASE</version>
</dependency>

谢谢

【问题讨论】:

    标签: java spring apache-kafka


    【解决方案1】:

    这是 Spring 模块版本不匹配。
    根据JavaDocBeanDefinition#setRole 方法存在于5.1

    所以请检查您的 org.springframework.spring-beans 依赖项。 Spring Kafka 2.2.3.RELEASE 需要 Spring 5.1.4

    既然您更新了您的问题,请升级您的 spring-webmvcspring-security-config

    spring-webmvc          5.1.4.RELEASE
    spring-security-config 5.1.3.RELEASE
    

    【讨论】:

    • 添加spring beans后出现新错误:java.lang.NoSuchFieldError: logger
    • @Najeisleem 等等,维护原有的Maven依赖,更新我上面写的就行了。
    • @Najeisleem 太棒了!请记住,Spring 模块的 (org.springframework) 版本必须始终匹配次要版本号,在本例中为 5.1
    猜你喜欢
    • 2019-02-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-26
    • 2016-02-09
    • 2013-02-03
    • 1970-01-01
    相关资源
    最近更新 更多