java.lang.AbstractMethodError: org.slf4j.impl.JDK14LoggerAdapter.log(Lorg/slf4j/Marker;Ljava/lang/String;ILjava/lang/String;[Ljava/lang/Object;Ljava/lang/Throwable;)V

时间:2022-08-30 14:30:45

java.lang.AbstractMethodError: org.slf4j.impl.JDK14LoggerAdapter.log(Lorg/slf4j/Marker;Ljava/lang/String;ILjava/lang/String;[Ljava/lang/Object;Ljava/lang/Throwable;)V

错误原因:jar冲突

解决办法,排除冲突jar

1、jar是否引用正确,我是到官网选择使用的 https://logging.apache.org/log4j

具体如下:

<properties>
<slf4j.version>1.7.25</slf4j.version>
<log4j2.version>2.11.2</log4j2.version>
</properties>
<dependencies>
      <!--日志 log4j2 使用(log4j、sl4j、log4j2都可以使用)-->
<!--sl4j-->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>${slf4j.version}</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>jcl-over-slf4j</artifactId>
<version>${slf4j.version}</version>
<scope>runtime</scope>
</dependency>
<!--log4j2 核心包-->
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
<version>${log4j2.version}</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>${log4j2.version}</version>
</dependency>
<!--如果现有组件使用Log4j 1.x并且您希望将此日志记录路由到Log4j 2,则删除所有log4j 1.x依赖项并添加以下内容-->
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-1.2-api</artifactId>
<version>${log4j2.version}</version>
</dependency>
<!--如果现有组件使用Apache Commons Logging 1.x并且您希望将此日志记录路由到Log4j 2,则添加以下内容但不删除任何Commons Logging 1.x依赖项。-->
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-jcl</artifactId>
<version>${log4j2.version}</version>
</dependency>
<!--如果现有组件使用SLF4J并且您希望将此日志记录路由到Log4j 2,则添加以下内容但不删除任何SLF4J依赖项。-->
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-slf4j-impl</artifactId>
<version>${log4j2.version}</version>
</dependency>
<!--为了正确支持和处理Web应用程序的ClassLoader环境和容器生命周期,需要一个额外的模块。该模块仅在运行时需要。此外,如果您在OSGi环境中使用servlet,请确保您的首选版本的servlet API已经可用(例如,如果您要使用3.0,但是您还加载了2.5,请确保它们都已加载)。-->
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-web</artifactId>
<version>${log4j2.version}</version>
</dependency>
</dependencies>

2、在当前项目找到那个jar包含了sl4j,如果知道就不用找

java.lang.AbstractMethodError: org.slf4j.impl.JDK14LoggerAdapter.log(Lorg/slf4j/Marker;Ljava/lang/String;ILjava/lang/String;[Ljava/lang/Object;Ljava/lang/Throwable;)V

这样就找到了

java.lang.AbstractMethodError: org.slf4j.impl.JDK14LoggerAdapter.log(Lorg/slf4j/Marker;Ljava/lang/String;ILjava/lang/String;[Ljava/lang/Object;Ljava/lang/Throwable;)V

然后就排除slf4jjar就OK了

java.lang.AbstractMethodError: org.slf4j.impl.JDK14LoggerAdapter.log(Lorg/slf4j/Marker;Ljava/lang/String;ILjava/lang/String;[Ljava/lang/Object;Ljava/lang/Throwable;)V

附带简单版log4j2.xml

<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="debug" monitorInterval="30">
<!--先定义所有的appender -->
<appenders>
<!--这个输出控制台的配置 -->
<Console name="Console" target="SYSTEM_OUT">
<!--控制台只输出level及以上级别的信息(onMatch),其他的直接拒绝(onMismatch) -->
<ThresholdFilter level="debug" onMatch="ACCEPT" onMismatch="DENY" />
<!--这个都知道是输出日志的格式 -->
<PatternLayout pattern="[%-5p] %d{yyyy-MM-dd HH:mm:ss} method:%l%n%m%n"/>
</Console>
</appenders>
<!--然后定义logger,只有定义了logger并引入的appender,appender才会生效 -->
<loggers>
<!--建立一个默认的root的logger -->
<root level="info">
<appender-ref ref="Console" />
</root>
</loggers>
</Configuration>

然后clean,compile  run项目 就OK

 

java.lang.AbstractMethodError: org.slf4j.impl.JDK14LoggerAdapter.log(Lorg/slf4j/Marker;Ljava/lang/String;ILjava/lang/String;[Ljava/lang/Object;Ljava/lang/Throwable;)V的更多相关文章

  1. Caused by&colon; java&period;lang&period;NoSuchMethodError&colon; org&period;slf4j&period;impl&period;StaticLoggerBinder&period;getSingleton&lpar;&rpar;Lorg&sol;slf4j&sol;i

    Caused by: java.lang.NoSuchMethodError: org.slf4j.impl.StaticLoggerBinder.getSingleton()Lorg/slf4j/i ...

  2. Java&period;lang&period;NoSuchMethodError&colon; org&period;slf4j&period;spi&period;LocationAwareLogger&period;log&lpar;Lorg&sol;slf4j&sol;Marker&semi;Ljava&sol;lang&sol;String&semi;ILjava&sol;lang&sol;String&semi;&lbrack;Ljava&sol;lang&sol;Object&semi;Ljava&sol;lang&sol;Throwable&semi;&rpar;V

    今天接入激光推送,一直报错: Java.lang.NoSuchMethodError: org.slf4j.spi.LocationAwareLogger.log(Lorg/slf4j/Marker; ...

  3. 关于java&period;lang&period;NoSuchMethodError&colon; org&period;slf4j&period;spi&period;LocationAwareLogger&period;log

    配置JFinal环境时,jar包已导入,web.xml已配置,Config也已经配置好,测试服务器时不停地出现 Exception in thread "main" java.la ...

  4. 【转载】Failed to load class &quot&semi;org&period;slf4j&period;impl&period;StaticLoggerBinder&quot&semi;&period;问题解决

    在进行hibernate配置好后运行测试类的时候出现: SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder&quot ...

  5. org&period;slf4j&period;impl&period;SimpleLoggerFactory cannot be cast to ch&period;qos&period;logback&period;classic&period;LoggerContext

    查看日志信息: SLF4J: Class path contains multiple SLF4J bindings. SLF4J: Found binding in [jar:file:/app/a ...

  6. java&period;lang&period;ClassCastException&colon; org&period;slf4j&period;impl&period;Log4jLoggerFactory cannot be cast to ch&period;qos&period;logback&period;classic&period;LoggerContext问题原因及解决方法

    一.错误信息 java.lang.ClassCastException: org.slf4j.impl.Log4jLoggerFactory cannot be cast to ch.qos.logb ...

  7. java&period;lang&period;IllegalAccessError&colon; tried to access field org&period;slf4j&period;impl&period;StaticLoggerBinder&period;SINGLETON from class org&period;slf4j&period;LoggerFactory

    java.lang.IllegalAccessError: tried to access field org.slf4j.impl.Static.. java.lang.IllegalAccessE ...

  8. 日志异常:java&period;lang&period;NoClassDefFoundError&colon; Could not initialize class org&period;slf4j&period;impl&period;StaticLoggerBinder

    今天启动开发的项目,碰到了一个日志上的bug:java.lang.NoClassDefFoundError: Could not initialize class org.slf4j.impl.Sta ...

  9. java&period;lang&period;AbstractMethodError&colon; Method com&sol;mchange&sol;v2&sol;c3p0&sol;impl&sol;NewProxyPreparedStatement&period;isClosed&lpar;&rpar;Z is abstract

    二月 26, 2019 3:47:40 上午 org.apache.catalina.core.StandardWrapperValve invoke严重: Servlet.service() for ...

随机推荐

  1. java&period;lang&period;IllegalArgumentException&colon; Illegal character in query at index 261

    在BaseFragment中使用了LoadingPage,而LoadingPage的联网加载使用的是AsyncHttpClient.一直报java.lang.IllegalArgumentExcept ...

  2. 每日学习心得:SQL查询表的行列转换&sol;小计&sol;统计(with rollup,with cube,pivot解析)

    2013-8-20 1.    SQL查询表的行列转换/小计/统计(with  rollup,with cube,pivot解析) 在实际的项目开发中有很多项目都会有报表模块,今天就通过一个小的SQL ...

  3. &lbrack;Flex&rsqb; IFrame系列 —— IFrame嵌入html后Alert弹出窗口被IFrame遮挡问题

    <?xml version="1.0" encoding="utf-8"?> <!--- - - - - - - - - - - - - - ...

  4. &lbrack;开源&rsqb; yvm - 自制Java虚拟机

    项目地址 : https://github.com/racaljk/yvm 虚拟机现在已可运行(不过还有很多待发现待修复的bugs),已支持语言特性有: Java基本算术运算,流程控制语句,面向对象. ...

  5. ACM Misha and Changing Handles

    Misha hacked the Codeforces site. Then he decided to let all the users change their handles. A user ...

  6. Java Web Token - JWT

    JWT认证过程:https://www.codetd.com/article/3602378 JWT官方文档:https://jwt.io/introduction/

  7. cassandra vs mongo &lpar;1&rpar;存储引擎

    摘要 在MongoDB 初识篇中谈到过Mongo 与 Cassandra的区别,这边再谈谈Mongo与Cassandra的存储引擎差别 概括 存储引擎: 类型 功能 应用 hash 增删改.随机读.顺 ...

  8. datagridview的一些设置

    1.自动调整列宽 this.dataGridView1.AutoSizeColumnsMode = System.Windows.Forms.DataGridViewAutoSizeColumnsMo ...

  9. Solidity合约间的调用 -Solidity通过合约转ERC20代币

    Solidity通过合约转ERC20代币   ERC20代币并不能像Ether一样使用sendTo.transfer(amt)来转账,ERC20代币只能通过token中定义的transfer方法来转账 ...

  10. Java核心技术-并发

    多任务(multitasking):在同一时刻运行多个程序的能力. 并发执行的进程数目并不是由CPU数目制约的.操作系统将CPU的时间片分配给每一个进程,给人并发处理的感觉. 多线程程序在较低的层次上 ...