NoClassDefFoundError: org/slf4j/LoggerFactory和NoClassDefFoundError: org/apache/log4j/LogManager解决方法-阿里云开发者社区

开发者社区> 嗯哼9925> 正文

NoClassDefFoundError: org/slf4j/LoggerFactory和NoClassDefFoundError: org/apache/log4j/LogManager解决方法

简介:
+关注继续查看

1.如果运行程序出现错误:“Exception in thread "main" java.lang.NoClassDefFoundError: org/slf4j/LoggerFactory”,这是因为项目缺少slf4j-api.jar和slf4j-log4j12.jar这两个jar包导致的错误。

2.如果运行程序出现错误:“java.lang.NoClassDefFoundError: org/apache/log4j/LogManager”,这是因为项目缺少log4j.jar这个jar包

3.错误:“Exception in thread "main" java.lang.NoSuchMethodError: org.slf4j.MDC.getCopyOfContextMap()Ljava/util/Map”,这是因为jar包版本冲突造成的。

slf4j-log4j12.jar版本信息:

复制代码
Manifest-Version: 1.0
Archiver-Version: Plexus Archiver
Created-By: Apache Maven
Built-By: ceki
Build-Jdk: 1.5.0_06
Bundle-Description: The slf4j log4j-12 binding
Bundle-Version: 1.3.1
Implementation-Version: 1.4.2
Implementation-Title: slf4j-log4j12
Bundle-ManifestVersion: 2
Bundle-SymbolicName: slf4j.log4j12
Bundle-Name: slf4j-log4j12
Bundle-Vendor: SLF4J.ORG
Export-Package: org.slf4j.impl;version=1.3.1
Import-Package: org.slf4j;version="[1.3,1.4)", org.slf4j.spi;version="
[1.3,1.4)", org.slf4j.helpers;version="[1.3,1.4)", org.apache.log4j
复制代码

slf4j-api.jar版本信息:

复制代码
Manifest-Version: 1.0
Archiver-Version: Plexus Archiver
Created-By: Apache Maven
Built-By: ceki
Build-Jdk: 1.5.0_06
Bundle-Description: The slf4j API
Bundle-Version: 1.3.1
Implementation-Version: 1.4.2
Implementation-Title: slf4j-api
Bundle-ManifestVersion: 2
Bundle-SymbolicName: slf4j.api
Bundle-Name: slf4j-api
Bundle-Vendor: SLF4J.ORG
Export-Package: org.slf4j;version=1.3.1, org.slf4j.spi;version=1.3.1,
org.slf4j.helpers;version=1.3.1
Import-Package: org.slf4j.impl;version="[1.3,1.4)"
复制代码

log4j.jar版本信息:

复制代码
Manifest-Version: 1.0
Ant-Version: Apache Ant 1.6.5
Created-By: 1.3.1_18-b01 (Sun Microsystems Inc.)

Name: org/apache/log4j/
Implementation-Title: log4j
Implementation-Version: 1.2.14
Implementation-Vendor: "Apache Software Foundation"
复制代码

后来将log4j.jar版本从上面的1.2.14换到1.2.11

复制代码
Manifest-Version: 1.0
Ant-Version: Apache Ant 1.6.4
Created-By: 1.4.2_06-b03 (Sun Microsystems Inc.)

Name: org/apache/log4j/
Implementation-Title: log4j
Implementation-Version: 1.2.11
Implementation-Vendor: "Apache Software Foundation"
复制代码

就不再出现“Exception in thread "main" java.lang.NoSuchMethodError: org.slf4j.MDC.getCopyOfContextMap()Ljava/util/Map”错误了。

4.ActiveMQ错误:Wire format negociation timeout: peer did not send his wire format.

官方解释:http://activemq.apache.org/javaxjmsjmsexception-wire-format-negociation-timeout-peer-did-not-send-his-wire-format.html

我出现这样的错误主要是因为ActiveMQ与slf4j的版本有冲突,我原先使用的是以前一种用的slf4j-1.4。后来看apache-activemq-5.5.1\lib目录下有slf4j-api-1.5.11.jar、slf4j-log4j12-1.5.11.jar和log4j-1.2.14.jar。我想这几个jar应该是和ActiveMQ匹配的,就使用了这三个jar,最终错误解决。



 本文转自xwdreamer博客园博客,原文链接:http://www.cnblogs.com/xwdreamer/archive/2012/02/20/2359595.html,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
firefox chrome ie9,10,11 不支持selectSingleNode和selectNodes的解决方法
firefox并不支持selectSingleNode和selectNodes的解决方法 function test(){ var perid = document.
1061 0
系统稳定性——NoSuchMethodError 常见原因及解决方法
> 作者:涯海 > 创作日期:2019-08-06 > 专栏地址:[【稳定大于一切】](https://github.com/StabilityMan/StabilityGuide) 当应用程序试图调用类(静态或实例)的指定方法,而该类已不再具有该方法的定义时,就会抛出 `java.lang.NoSuchMethodError` 错误。简单地说,就是同一个类有多个版本,并且在运行
705 0
+关注
4716
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载