我正在尝试使用InteliJ IDEA(Maven 3.3.9)连接到Java中的RabbitMQ,但是在执行所需的步骤(连接到RabbitMQ之前创建ConnectionFactory
对象)时发生错误。
有关详细信息:Maven本身会安装amqp-client:5.7.2
和org.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);
}
}
我尝试运行此错误并收到此错误:
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.
这是我的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>
答案 0 :(得分:1)
link in the error几乎解释了问题所在以及解决方法。您只需要向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>