Java学习者论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

恭喜Java学习者论坛(https://www.javaxxz.com)已经为数万Java学习者服务超过8年了!积累会员资料超过10000G+
成为本站VIP会员,下载本站10000G+会员资源,购买链接:点击进入购买VIP会员
JAVA高级面试进阶视频教程Java架构师系统进阶VIP课程

分布式高可用全栈开发微服务教程

Go语言视频零基础入门到精通

Java架构师3期(课件+源码)

Java开发全终端实战租房项目视频教程

SpringBoot2.X入门到高级使用教程

大数据培训第六期全套视频教程

深度学习(CNN RNN GAN)算法原理

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

互联网架构师视频教程

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

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

年薪50万!大数据从入门到精通学习路线年薪50万!机器学习入门到精通视频教程
仿小米商城类app和小程序视频教程深度学习数据分析基础到实战最新黑马javaEE2.1就业课程从 0到JVM实战高手教程 MySQL入门到精通教程
查看: 715|回复: 0

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

[复制链接]
  • TA的每日心情
    开心
    2021-12-13 21:45
  • 签到天数: 15 天

    [LV.4]偶尔看看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学习者论坛 ( 声明:本站资料整理自互联网,用于Java学习者交流学习使用,对资料版权不负任何法律责任,若有侵权请及时联系客服屏蔽删除 )

    GMT+8, 2024-4-20 16:33 , Processed in 0.425018 second(s), 48 queries .

    Powered by Discuz! X3.4

    © 2001-2017 Comsenz Inc.

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