首先。关于依赖关系。
为了添加 SLF4J,您必须在 pom.xml 中放置一个且仅一个这些依赖项。这取决于您选择使用什么实现。您在 pom.xml 中添加的每个依赖项都会自动添加到类路径中。如果以下依赖项之一由另一个依赖项提供,则可以省略它。不要忘记,即使依赖项是由另一个依赖项提供的,您也必须只包含一个。
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version></version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<version></version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>log4j-over-slf4j</artifactId>
<version></version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-jdk14</artifactId>
<version></version>
<scope>compile</scope>
</dependency>
现在关于构建 maven 项目时遇到的烦人错误。如果仅具有上述依赖项之一后,您仍然会得到 SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder"。那么您将面临来自 m2e 的错误。
Eclipse Juno 和 Indigo 在使用捆绑的 maven 版本 (m2e) 时,不会抑制消息 SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder"。此行为从 m2e 版本 1.1.0.20120530-0009 及更高版本开始存在。
虽然,这被指示为错误,您的日志将正常保存。在修复此错误之前,突出显示的错误仍将存在。在m2e 支持站点中了解更多信息。
当前可用的解决方案是使用外部 maven 版本而不是 Eclipse 的捆绑版本。您可以在下面的问题中找到有关此解决方案的更多详细信息以及有关此错误的更多详细信息,我认为该问题描述了您面临的相同问题。
SLF4J:无法加载类“org.slf4j.impl.StaticLoggerBinder”。错误