RabbitMQ SLF4J:无法加载类“org.slf4j.impl.StaticLoggerBinder”

Shi*_*aty 3 java intellij-idea rabbitmq maven

ConnectionFactory我正在尝试使用 InteliJ IDEA (Maven 3.3.9) 连接到 Java 中的 RabbitMQ,但是在执行所需步骤(在连接到 RabbitMQ 之前创建对象)时发生错误。

有关详细信息:Maven 本身安装amqp-client:5.7.2org.slf4j-api:1.7.26.

我在这里缺少什么?我尝试导入org.slf4j.impl.StaticLoggerBinder,但Java本身不知道这一点。

package TestPackage;

import Configuration.RabbitMQConf;
import com.rabbitmq.client.Connection;
import com.rabbitmq.client.Channel;
import com.rabbitmq.client.ConnectionFactory;
import org.slf4j.LoggerFactory;

import java.io.IOException;
import java.util.concurrent.TimeoutException;

public class TestingClass {
    static ConnectionFactory rbmqFactory;
    static Connection rbmqConn;
    static Channel rbmqChannel;

    public static void main(String[] args){
        RabbitMQConf rbmqConf = new RabbitMQConf();


        rbmqFactory = new ConnectionFactory();
        rbmqFactory.setUsername(rbmqConf.username);
        rbmqFactory.setPassword(rbmqConf.password);
        rbmqFactory.setVirtualHost(rbmqConf.virtualHost);
        rbmqFactory.setHost(rbmqConf.host);
        rbmqFactory.setPort(rbmqConf.port);
    }
}
Run Code Online (Sandbox Code Playgroud)

我尝试运行它并收到此错误:

SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
Run Code Online (Sandbox Code Playgroud)

这是我的 pom.xml 文件:

<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>XXXX</groupId>
  <artifactId>XXXX</artifactId>
  <version>1.0-XXXX</version>

  <properties>
    <maven.compiler.source>1.7</maven.compiler.source>
    <maven.compiler.target>1.7</maven.compiler.target>
  </properties>

  <dependencies>
    <dependency>
      <groupId>com.rabbitmq</groupId>
      <artifactId>amqp-client</artifactId>
      <version>5.7.2</version>
    </dependency>
  </dependencies>
</project>
Run Code Online (Sandbox Code Playgroud)

Cra*_*der 5

错误中的链接几乎解释了问题是什么以及如何修复它。您只需将日志记录实现之一添加到pom.xml.

当 org.slf4j.impl.StaticLoggerBinder 类无法加载到内存中时,会报告此警告消息。当在类路径上找不到适当的 SLF4J 绑定时,就会发生这种情况。将 slf4j-nop.jar、slf4j-simple.jar、slf4j-log4j12.jar、slf4j-jdk14.jar 或 logback-classic.jar 中的一个(且仅一个)放在类路径上应该可以解决问题。

<dependency>
    <groupId>ch.qos.logback</groupId>
    <artifactId>logback-classic</artifactId>
    <version>1.2.3</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)