RabbitMQ-线程中的异常;“主要”;java.lang.NoClassDefFoundError:org/slf4j/LoggerFactory

RabbitMQ-线程中的异常;“主要”;java.lang.NoClassDefFoundError:org/slf4j/LoggerFactory,java,rabbitmq,Java,Rabbitmq,我尝试使用一个简单的RabbitMQ示例,它给出了: “线程”main“java.lang.NoClassDefFoundError:org/slf4j/LoggerFactory”中的异常 我的构建路径上有amqp-client-4.0.2.jar、slf4j-1.7.25.zip、slf4j-jdk14.jar.zip和log4j-1.2.15.jar 我的代码非常基础,我在这里尝试了很多类似的建议,我改变了不同类型的slfj,但仍然不起作用 ConnectionFactory=newcon

我尝试使用一个简单的RabbitMQ示例,它给出了:

“线程”main“java.lang.NoClassDefFoundError:org/slf4j/LoggerFactory”中的异常

我的构建路径上有amqp-client-4.0.2.jar、slf4j-1.7.25.zip、slf4j-jdk14.jar.zip和log4j-1.2.15.jar

我的代码非常基础,我在这里尝试了很多类似的建议,我改变了不同类型的slfj,但仍然不起作用

ConnectionFactory=newconnectionfactory();
setHost(主机);
setUsername(用户);
设置密码(令牌);
工厂设置虚拟主机(VHOST);
Connection Connection=factory.newConnection();
Channel=connection.createChannel();
字符串消息=“测试!”;
channel.basicPublish(EXCHANGE_NAME,QUEUE_NAME,null,message.getBytes());
System.out.println(“[x]已发送””+“消息+”,id=“”);
channel.close();
connection.close();
完全错误:

Exception in thread "main" java.lang.NoClassDefFoundError:     org/slf4j/LoggerFactory
at com.rabbitmq.client.impl.AMQConnection.<clinit>(AMQConnection.java:49)
at com.rabbitmq.client.ConnectionFactory.<init>(ConnectionFactory.java:91)
at ro.test.RMQ_Send_LocalHost.main(RMQ_Send_LocalHost.java:20)
Caused by: java.lang.ClassNotFoundException: org.slf4j.LoggerFactory
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 3 more"
线程“main”java.lang.NoClassDefFoundError中的异常:org/slf4j/LoggerFactory 位于com.rabbitmq.client.impl.AMQConnection。(AMQConnection.java:49) 位于com.rabbitmq.client.ConnectionFactory(ConnectionFactory.java:91) 在ro.test.RMQ\u Send\u LocalHost.main(RMQ\u Send\u LocalHost.java:20) 原因:java.lang.ClassNotFoundException:org.slf4j.LoggerFactory 位于java.net.URLClassLoader.findClass(URLClassLoader.java:381) 位于java.lang.ClassLoader.loadClass(ClassLoader.java:424) 位于sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331) 位于java.lang.ClassLoader.loadClass(ClassLoader.java:357) ... 3更多“
尝试将slf4j api依赖项添加到应用程序:


尝试将slf4j api依赖项添加到应用程序:


谢谢你的建议,但这不是一个Maven项目。答案是一样的,你可以下载JAR文件并在没有Maven的情况下将其包含在你的项目中。好吧,它确实有效,这意味着它会产生其他错误。那就是:SLF4J:没有找到SLF4J提供程序。SLF4J:默认为无操作(NOP)日志程序实现SLF4J:有关更多详细信息,请参阅。线程“main”中的异常“java.net.ConnectException:连接被拒绝:连接。我甚至只留下了你发给我的罐子,删除了其他的,就像链接上说的那样,它给了我同样的错误。很高兴看到它能工作。您现在遇到的错误是因为找不到特定的记录器实现。您可以使用slf4j简单库来解决这个问题。谢谢您的回答。我解决了。在使用了所有合适的JAR、slfj-api1.8和slfj simple 1.8之后,它成功了。这个问题与slfj-simple早期版本的某些不兼容有关。谢谢你的建议,但这不是一个Maven项目。答案是一样的,你可以下载JAR文件并将其包含在没有Maven的项目中。好吧,它实际上起了作用,这意味着它会产生其他错误。这将是:SLF4J:找不到SLF4J提供程序。SLF4J:默认为无操作(NOP)记录器实现SLF4J:有关更多详细信息,请参阅。线程“main”java.net.ConnectException:连接被拒绝:连接。我甚至只留下了你发给我的罐子,删除了其他的,就像链接上说的那样,它给了我同样的错误。很高兴看到它能工作。您现在遇到的错误是因为找不到特定的记录器实现。您可以使用slf4j简单库来解决这个问题。谢谢您的回答。我解决了。在使用了所有合适的JAR、slfj-api1.8和slfj simple 1.8之后,它成功了。这个问题与slfj simple早期版本的某种不兼容有关。