【发布时间】:2021-09-11 20:07:59
【问题描述】:
我在 Windows 上使用带有 Java 16 和 Maven 3.6.3(与 Intellj 捆绑)的 Intellij 2021.1.2 社区版。
当我尝试运行我的 jar 时,这是完整的错误:
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.
我发现了很多关于这个错误的问题,但没有一个符合我的具体情况,所以如果这是重复的,请指出正确的解决方案。
我的项目昨天运行良好,自昨天以来我没有对任何依赖项进行任何更改,所以我对问题可能是什么感到困惑。也就是说,我正在尝试运行一个使用依赖 Jedis 的 jar。我在我的 pom 中将其列为:
<!-- https://mvnrepository.com/artifact/redis.clients/jedis -->
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>3.6.1</version>
</dependency>
似乎 slf4j 是 Jedis 的依赖项,正如我在此处的 maven 窗口中看到的那样:
在 Intellij 中,如果我转到 Project Structure -> Modules,则 slf4j 设置为编译。如果我通过库文件路径 (C:\Users\MyUsername.m2\repository\org\slf4j\slf4j-api\1.7.30\slf4j-api-1.7.30-sources.jar) 进入 slf4j 源 jar Project Structure -> Libraries 并打开jar,我可以看到类文件“org.slf4j.impl.StaticLoggerBinder”确实存在。该依赖也仅用于 Jedis,因此似乎没有依赖冲突或任何东西。
在 Maven 中,我使用“Build Artifact”功能构建 jar,将库编译成一个 jar。将它们编译为单独的 jar 会产生相同的错误。
什么给了?对此问题的任何见解将不胜感激。
【问题讨论】:
-
请查看stackoverflow.com/a/57118379/104891 是否有帮助。您不存在任何日志记录实现依赖项,只有 API。
-
这已解决,谢谢!
标签: java maven intellij-idea slf4j jedis