Java学习者论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

恭喜Java学习者论坛(www.javaxxz.com)已经为数万Java学习者服务超过7年了!积累会员资料超过10000G+
成为本站VIP会员,下载本站10000G+会员资源,购买链接:http://item.taobao.com/item.htm?id=44171550842
成为荣耀会员,分享5TB资料及站长学习指导,购买链接:https://item.taobao.com/item.htm?id=44435180049
技术售后:点击这里给我发消息 资料售后:点击这里给我发消息 ①群:Java学习者群②javaxxz.com ②群:Java学习者群③javaxxz.com 求职招聘群:Java求职与招聘 精英群:Java学习者精英群
JavaEE 49期就业班视频教程Java从菜鸟到大神的学习路线之基础篇Java从菜鸟到大神的学习路线之实战篇Java从菜鸟到大神的学习路线之高级篇

价值两万达内2017年最新Java整套视频

Java开发视频教程下载

大数据开发视频教程

前端开发视频教程下载

安卓开发视频教程下载

Java亿级流量电商系统视频教程

互联网架构师视频教程

年薪50万Spark2.0从入门到精通

年薪50万!人工智能学习路线教程

年薪50万!大数据从入门到精通学习路线年薪50万!机器学习入门到精通视频教程
查看: 111|回复: 0

[默认分类] NoClassDefFoundError: org/slf4j/LoggerFactory和NoClassDefFoundError: org/apache/log4j/LogManager解决方法

[复制链接]
  • TA的每日心情
    开心
    2018-8-25 14:10
  • 签到天数: 222 天

    [LV.7]常住居民III

    发表于 2018-7-13 15:43:23 | 显示全部楼层 |阅读模式
    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版本信息:

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

    slf4j-api.jar版本信息:

    1. Manifest-Version: 1.0
    2. Archiver-Version: Plexus Archiver
    3. Created-By: Apache Maven
    4. Built-By: ceki
    5. Build-Jdk: 1.5.0_06
    6. Bundle-Description: The slf4j API
    7. Bundle-Version: 1.3.1
    8. Implementation-Version: 1.4.2
    9. Implementation-Title: slf4j-api
    10. Bundle-ManifestVersion: 2
    11. Bundle-SymbolicName: slf4j.api
    12. Bundle-Name: slf4j-api
    13. Bundle-Vendor: SLF4J.ORG
    14. Export-Package: org.slf4j;version=1.3.1, org.slf4j.spi;version=1.3.1,
    15. org.slf4j.helpers;version=1.3.1
    16. Import-Package: org.slf4j.impl;version="[1.3,1.4)"
    复制代码

    log4j.jar版本信息:

    1. Manifest-Version: 1.0
    2. Ant-Version: Apache Ant 1.6.5
    3. Created-By: 1.3.1_18-b01 (Sun Microsystems Inc.)
    4. Name: org/apache/log4j/
    5. Implementation-Title: log4j
    6. Implementation-Version: 1.2.14
    7. Implementation-Vendor: "Apache Software Foundation"
    复制代码

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

    1. Manifest-Version: 1.0
    2. Ant-Version: Apache Ant 1.6.4
    3. Created-By: 1.4.2_06-b03 (Sun Microsystems Inc.)
    4. Name: org/apache/log4j/
    5. Implementation-Title: log4j
    6. Implementation-Version: 1.2.11
    7. 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,最终错误解决。




    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    .

    QQ|手机版|Java学习者论坛

    GMT+8, 2018-11-19 12:53 , Processed in 0.586137 second(s), 37 queries .

    Powered by Discuz! X3.4

    © 2001-2017 Comsenz Inc.

    快速回复 返回顶部 返回列表