-1
我试图用一个简单的RabbitMQ例子,它给了我:的RabbitMQ - 例外在线程“主要” java.lang.NoClassDefFoundError:组织/ SLF4J /的LoggerFactory
"Exception in thread "main" java.lang.NoClassDefFoundError: org/slf4j/LoggerFactory".
我有AMQP的客户端4.0 .jar,slf4j-1.7.25.zip,slf4j-jdk14.jar.zip和我的Build Path上的log4j-1.2.15.jar。
我的代码是非常基本的,我尝试了很多关于simillar事务的建议,我改变了不同类型的slfj,但它仍然没有工作。
ConnectionFactory factory = new ConnectionFactory();
factory.setHost(HOST);
factory.setUsername(USER);
factory.setPassword(TOKEN);
factory.setVirtualHost(VHOST);
Connection connection = factory.newConnection();
Channel channel = connection.createChannel();
String message = "Test!";
channel.basicPublish(EXCHANGE_NAME, QUEUE_NAME, null, message.getBytes());
System.out.println(" [x] Sent '" + message + "' with 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"
谢谢你的建议,但不是一个Maven项目。 –
答案保持不变,您可以下载JAR文件并将其包含在您的项目中,而无需使用maven。 –
嗯,它实际上工作,这意味着它给出了其他错误。那将是:SLF4J:找不到SLF4J供应商。 SLF4J:默认为无操作(NOP)记录器实现 SLF4J:有关详细信息,请参阅http://www.slf4j.org/codes.html#noProviders。 线程“main”中的异常java.net.ConnectException:连接被拒绝:连接。我甚至只留下了你发给我的jar,并删除了其他的jar,就像它在链接上说的那样,它给了我同样的错误。 –