我收到"NoClassDefFoundError:org/apache/logging/log4j/util/ReflectionUtil" [英] I'm getting "NoClassDefFoundError: org/apache/logging/log4j/util/ReflectionUtil"

查看:2110
本文介绍了我收到"NoClassDefFoundError:org/apache/logging/log4j/util/ReflectionUtil"的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我的build.gradle文件中具有以下依赖项.

I have the following dependencies in my build.gradle file.

compile 'org.slf4j:slf4j-api:1.7.25'
compile group: 'org.apache.logging.log4j', name: 'log4j-core', version: '2.11.1'
compile group: 'org.apache.logging.log4j', name: 'log4j-api', version: '2.11.1'

在运行单元测试时,将显示以下日志.

On running my unit tests, the following logs are displayed.

exclude patterns:SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in 
[jar:file:....gradle/caches/modules-2/files-2.1/org.apache.logging.log4j/log4j-slf4j-impl/2.7/382b070836b8940a02d28c936974db95e9bfc3a4/log4j-slf4j-impl-2.7.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/Users/z002qz1/.gradle/caches/modules-2/files-2.1/org.apache.logging.log4j/log4j-slf4j-impl/2.9.1/a97a849b18b3798c4af1a2ca5b10c66cef17e3a/log4j-slf4j-impl-2.9.1.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.apache.logging.slf4j.Log4jLoggerFactory]
java.lang.NoClassDefFoundError: org/apache/logging/log4j/util/ReflectionUtil
at org.apache.logging.slf4j.Log4jLoggerFactory.getContext(Log4jLoggerFactory.java:42)
at org.apache.logging.log4j.spi.AbstractLoggerAdapter.getLogger(AbstractLoggerAdapter.java:46)
at org.apache.logging.slf4j.Log4jLoggerFactory.getLogger(Log4jLoggerFactory.java:29)
at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:358)

我正在使用springboot 2.0.4.RELEASE.我希望这只是某种版本不匹配的问题.任何见解都会受到赞赏.

I'm using springboot 2.0.4.RELEASE. I'm hoping this is just some sort of version mismatch issue. Any insights are appreciated.

推荐答案

错误:java.lang.NoClassDefFoundError: org/apache/logging/log4j/util/ReflectionUtil

因为从版本2.9.0开始的log4j2已从api jar(log4j-api-2.x.x.jar)中删除了该类.

is because log4j2 since version 2.9.0 has been removed that class from api jar (log4j-api-2.x.x.jar).

拥有它的最后一个版本是2.8.2

The last version that has it, is 2.8.2

可能您在类路径中混合了版本.

Probably you have mixed versions in the classpath.

这篇关于我收到"NoClassDefFoundError:org/apache/logging/log4j/util/ReflectionUtil"的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆