无法在java项目中加载类“org.slf4j.impl.StaticLoggerBinder”错误?

Failed to load class "org.slf4j.impl.StaticLoggerBinder"错误。我想将记录器写入文件。所以我使用log4j.jar并使用apache tomcat服务器。

 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. 

首先。 关于依赖性。

为了添加SLF4J,您必须在您的pom.xml中放置一个且只有一个依赖项。 这取决于您选择使用的实现。 您在pom.xml中添加的每个依赖项都会自动添加到类路径中。 如果下面的依赖项之一由另一个依赖项提供,那么您可以省略它。 不要忘记,即使依赖项是由另一个依赖项提供的,您也必须只包含一个。 请注意,我已从依赖项中省略了该版本。 使用最新的。

  ch.qos.logback logback-classic   
  org.slf4j slf4j-simple  compile  
  org.slf4j slf4j-log4j12  compile  
  org.slf4j slf4j-jdk14  compile  

现在关于构建maven项目时遇到的恼人错误。 如果只有上述依赖项中的一个后仍然得到SLF4J:无法加载类“org.slf4j.impl.StaticLoggerBinder”。 然后你面临来自m2e的错误。

当使用捆绑的maven版本(m2e)时,Eclipse Juno和Indigo不会抑制消息SLF4J:无法加载类“org.slf4j.impl.StaticLoggerBinder”。 此行为存在于m2e版本1.1.0.20120530-0009及之后。

虽然,这表示为错误,您的日志将被正常保存。 在修复此错误之前,突出显示的错误仍将存在。 有关m2e支持网站的更多信息。

当前可用的解决方案是使用外部maven版本而不是捆绑的Eclipse版本。 您可以在下面的问题中找到有关此错误的此解决方案和更多详细信息,我认为这些错误描述了您所面临的同一问题。

SLF4J:无法加载类“org.slf4j.impl.StaticLoggerBinder”。 错误

你需要将slf4j jar或依赖项添加到你的项目中

请为您的项目导入slf4j-api-1.6.6.jar。 1.在java类中编写以下代码

 private Logger logger = LoggerFactory.getLogger(this.getClass()); 

2.import如下:

 import org.slf4j.Logger; import org.slf4j.LoggerFactory; 

3.现在你可以使用logger.info(); 打印任何东西。

首先,查看手册。 虽然是官方手册……你应该多次阅读它以选择适当的步骤。 没有明确的示例说明如何一起使用log4j和sl4j。 但是有很多非官方的,我喜欢这个: http : //www.javavillage.in/slf4j-with-log4j.php (这不是我的网站,也不是我的朋友,只是在谷歌找到它)

请注意只有两个maven deps。 没有明确的log4j dep,它会自动加载。

另外 (它花了我1小时14分钟)某些版本的sl4j不稳定,这很重要。 版本1.8-beta(是啊..测试版)不起作用。 所以我使用1.7.13并且它有效。

所以,检查maven deps,它应该是这样的:

  org.slf4j slf4j-api 1.7.13   org.slf4j slf4j-log4j12 1.7.13  

默认配置位置是资源文件夹。 例如,主要来源:

 project/src/main/resources 

或测试:

 project/src 

干杯!