我已经在 WebSphere Application Server 中配置了将使用 ActiveMQ 的 JMS Provide。为了发送消息,WebSphere 需要在类路径中添加“activemq-all-5.9.1.jar
”,所以我添加了它。这个“activemq-all
”包含 slf4j 类
。
现在我的应用程序包含“slf4j-api-1.7.5.jar
”。当我启动 WebSphere 时,它给出
Caused by: java.lang.LinkageError: org.slf4j.LoggerFactory
at java.lang.ClassLoader.defineClassImpl(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:264)
我尝试使用不包含 slf4j 类的不同 activemq jar,但当时它给出了 ClassNotFoundExeption
最佳答案
这是因为 slf4j logger 不能绑定(bind)两次。在当前场景中,服务器和应用程序都绑定(bind) slf4j 记录器。
使用不依赖于 slf4j 记录器的旧 ActiveMQ jar。这样应用程序默认记录器就可以工作。
关于java - SLF4J 链接错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28316236/