我在帖子中找不到解决方案后打开这篇帖子: Failed to load class "org.slf4j.impl.StaticLoggerBinder" error
我还在IntelliJ中打开了一个Maven项目,并在tomcat7插件中选择'redeploy'选项后出现以下错误:
SLF4J:无法加载类“org.slf4j.impl.StaticLoggerBinder”。 SLF4J:默认为无操作(NOP)记录器实现SLF4J: 有关详细信息,请参阅http://www.slf4j.org/codes.html#StaticLoggerBinder 的信息。
在附件链接中,建议转到File->项目结构 - >工件和检查错误。这就是我所看到的:
我在pom.xml文件中也有以下依赖项:
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.5</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.5.6</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<version>1.7.21</version>
</dependency>
你能帮我找错吗?
答案 0 :(得分:6)
也许有两个问题:
为了重现你的错误,我创建了这个迷你程序:
package de.so;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class DemoSlf4j
{
private static Logger logger = LoggerFactory.getLogger(DemoSlf4j.class);
public static void main(String[] args)
{
logger.error("Start ...");
}
}
在pom.xml中只使用这些依赖项(与您使用的相同):
<dependencies>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.5</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.5.6</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<version>1.7.21</version>
</dependency>
</dependencies>
我收到了这些消息:
SLF4J:类路径包含多个SLF4J绑定。 SLF4J:找到了 绑定 [JAR:文件:/ d:/Maven-Repo/org/slf4j/slf4j-log4j12/1.5.6/slf4j-log4j12-1.5.6.jar /org/slf4j/impl/StaticLoggerBinder.class] SLF4J:发现绑定 [jar:file:/ D:/Maven-Repo/org/slf4j/slf4j-simple/1.7.21/slf4j-simple-1.7.21.jar!/org/slf4j/impl/StaticLoggerBinder.class] SLF4J:见{ {3}} 说明。 SLF4J:实际绑定是类型 [org.slf4j.impl.Log4jLoggerFactory] SLF4J:请求的版本1.5.6 由你的slf4j绑定与[1.6,1.7] SLF4J不兼容:见 http://www.slf4j.org/codes.html#multiple_bindings了解更多详情。 log4j:WARN没有为logger找到appender(de.so.DemoSlf4j)。 log4j:WARN请正确初始化log4j系统。
当我使用这些依赖项时,一切都很好。看看版本!
<dependencies>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.21</version> <!-- or use LATEST -->
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<version>1.7.21</version> <!-- or use LATEST -->
</dependency>
</dependencies>
如果您使用org.slf4j:slf4j-log4j12:1.7.21
代替slf4j-simple
(更有可能用于制作目的),您将获得:
log4j:WARN找不到logger(de.so.DemoSlf4j)的appender。 log4j:WARN请正确初始化log4j系统。 log4j:警告请参阅 http://www.slf4j.org/codes.html#version_mismatch了解更多信息。
这样做:
答案 1 :(得分:0)
也许你在你的项目中得到破解的jar,在调试模型细节中检查它,我也有这个问题,当我用调试模型构建时,我看到警告:
/repository/ch/qos/logback/logback-classic/1.1.11/logback-classic-1.1.11.jar
,请删除它,然后重新构建它。问题解决了。
答案 2 :(得分:0)
我遇到了同样的问题。我通过将以下依赖项添加到我的 POM.xml 文件来修复它:
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>${slf4j.version}</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<version>${slf4j.version}</version>
</dependency>
对于${slf4j.version},请指定最新版本号:
<properties>
...
<slf4j.version>1.7.30</slf4j.version>
</properties>