java - RabbitListener 不是注释类型

标签 java spring maven spring-boot rabbitmq

我有一个基本的 Spring Boot Web 项目,并且正在使用 Spring Tool Suite。我正在尝试使用 RabbitMQ 实现基本消息传递,但无法导入 RabbitListener 注释。我在 IDE 中收到错误消息 RabbitListener 不是注释类型

pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>jms.client</groupId>
    <artifactId>msgClient</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>jar</packaging>

    <name>activemqSndClient</name>
    <description>Spring-Boot activemq client </description>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.4.2.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <java.version>1.8</java.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-thymeleaf</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-jms</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.integration</groupId>
            <artifactId>spring-integration-jms</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-amqp</artifactId>
        </dependency>

        <!-- https://mvnrepository.com/artifact/org.apache.activemq/activemq-all -->
        <dependency>
            <groupId>org.apache.activemq</groupId>
            <artifactId>activemq-all</artifactId>
            <version>5.14.2</version>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>


</project>

当我尝试导入 RabbitListener 类时,我看到错误消息 The import org.springframework.amqp.rabbit.annotation.RabbitListener 与同一文件中定义的类型冲突,但我可以看到这个Maven 依赖项中的类。

enter image description here

最佳答案

您的类名为 RabbitListener,因此它优先于您导入的任何内容。将其重命名为其他名称就可以了。

关于java - RabbitListener 不是注释类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41362992/

相关文章:

java - Spring JmsTemplate 是否默认关闭连接?

java - spring-boot 在多模块应用程序上失败

Java:如何在单个线程中与多个客户端通信

java - 为什么我们需要 9-patch?

java - Android 与从另一个 Activity 启动的位置管理器通信

spring - prime faces jsf 页面不会在 linux tomcat 上呈现,但会在 eclipse test env 上呈现

java - 在 pom.xml 中包含 jar

Java/wsdl/jar 类未找到编译问题

java - Antlr4 与 Maven 示例项目

java - 用于移动原生应用程序自动化的 ruby​​ appium 或 java+appium