Java activemq jndi tomcat错误

Java activemq jndi tomcat错误,java,tomcat,jms,jndi,activemq,Java,Tomcat,Jms,Jndi,Activemq,我试图通过JNDI使用ActiveMQ,在Tomcat7.0服务器中部署应用程序。 我在Tomcatcontext.xml配置文件中设置了ActiveMQ连接工厂和队列,它们如下所示: <Resource auth="Container" brokerName="LocalActiveMQBroker" brokerURL="vm://localhost" clientID="TomcatClientID"

我试图通过JNDI使用ActiveMQ,在Tomcat7.0服务器中部署应用程序。 我在Tomcat
context.xml
配置文件中设置了ActiveMQ连接工厂和队列,它们如下所示:

    <Resource 
        auth="Container" 
        brokerName="LocalActiveMQBroker" 
        brokerURL="vm://localhost" 
        clientID="TomcatClientID" 
        description="JMS Connection Factory" 
        factory="org.apache.activemq.jndi.JNDIReferenceFactory" 
        name="jms/ConnectionFactory" 
        password="password" 
        type="org.apache.activemq.ActiveMQConnectionFactory" 
        userName="user"/>

    <Resource 
        auth="Container" 
        description="Order Queue" 
        factory="org.apache.activemq.jndi.JNDIReferenceFactory" 
        name="jms/orderQ" 
        physicalName="orderQ" 
        type="org.apache.activemq.command.ActiveMQQueue"/>
但我有一个例外:

java.lang.NoClassDefFoundError: org/slf4j/impl/StaticLoggerBinder
    org.slf4j.LoggerFactory.getSingleton(LoggerFactory.java:230)
我试图找出异常的原因,但我发现它只能来自commons日志jar,我已经将它添加到tomcat lib文件夹中


我错在哪里?

commons logging确实是一个与日志有关的库,但它来自Apache。而且slf4j只是一个门面,您需要为slf4j提供一个实际的实现。我建议使用logback,这是在java中进行日志记录的“更好”方法。因此,在类路径上需要3个jar:slf4j-api.jar、logback-core.jar和logback-classic.jar。 另一方面,如果您不想使用logback,那么任何其他实现都可以工作

java.lang.NoClassDefFoundError: org/slf4j/impl/StaticLoggerBinder
    org.slf4j.LoggerFactory.getSingleton(LoggerFactory.java:230)