SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder". SLF4J: Defaulting to no-operation (NOP) logger implementation SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details. Exception in thread "main" java.lang.IllegalArgumentException: LoggerFactory is not a Logback LoggerContext but Logback is on the classpath. Either remove Logback or the competing implementation (class org.slf4j.helpers.NOPLoggerFactory loaded from file:/D:/maven/org/slf4j/slf4j-api/1.7.36/slf4j-api-1.7.36.jar). If you are using WebLogic you will need to add 'org.slf4j' to prefer-application-packages in WEB-INF/weblogic.xml: org.slf4j.helpers.NOPLoggerFactory
时间: 2024-01-24 09:03:41 浏览: 533
这个错误信息表明在你的项目中存在 SLF4J(Simple Logging Facade for Java)和 Logback(SLF4J 的一种实现)之间的冲突。SLF4J 是一个抽象的日志框架,而 Logback 是其一个具体的实现。
根据错误信息,Logback 的类文件和 SLF4J API 的类文件在你的项目中同时存在。这可能是由于你的项目依赖中同时引入了 Logback 和 SLF4J 的 JAR 包。
为了解决这个问题,你可以按照以下步骤进行操作:
1. 检查你的项目依赖,确保只引入了一个日志框架的实现(要么是 Logback,要么是其他实现,例如 Log4j)。
2. 如果你确实需要同时使用 SLF4J 和 Logback,你需要排除掉 SLF4J API JAR 包中的 Logback 相关类。你可以通过在项目的构建文件(例如 Maven 的 pom.xml)中配置 exclusions 来实现。以下是一个 Maven 的示例配置:
```xml
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.36</version>
<exclusions>
<exclusion>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
</exclusion>
<exclusion>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-core</artifactId>
</exclusion>
</exclusions>
</dependency>
```
3. 如果你使用的是其他构建工具,可以查阅相关文档以了解如何排除依赖的特定部分。
希望这些信息对你有帮助!如果你有更多问题,欢迎继续提问。
阅读全文