当前位置: 首页 > 知识库问答 >
问题:

运行SpringBoot:SLF4J:Class path的Eclipse包含多个SLF4J绑定

王弘和
2023-03-14

每当我启动一个基于SpringBoot的应用程序(以Maven build/goal spring-boot:run的形式运行)时,我会得到臭名昭著的SLF4J警告:

SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/U:/eclipse/eclipse-jee/plugins/org.eclipse.m2e.maven.runtime.slf4j.simple_1.16.0.20200610-1735/jars/slf4j-simple-1.7.5.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [file:/U:/eclipse/eclipse-jee/configuration/org.eclipse.osgi/8/0/.cp/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.slf4j.impl.SimpleLoggerFactory]

这个警告令我非常恼火,因为当从Eclipse演示一个应用程序时,潜在的客户或用户看到的第一件事就是一个红色的、多余的警告。我讨厌那样!看起来太不专业了!

仔细观察警告中列出的路径,我会声称,eclipse本身已经有两个绑定(在插件org.eclipse.osgi…和org.eclipse.m2e.maven.runtime.slf4j.simple_1.16.0.20200610-1735/jars/slf4j-simple-1.7.5.jar中),这可能解释了为什么我的尝试没有结果:修改应用程序的pom不会改变这些eclipse内部绑定。上面提到的追加得到了相同的结论:这是Eclipse中的一个bug。

但是有人知道要消除这个警告需要什么吗?我对所有类型的“黑客”都持开放态度!例如,可以“按摩”…m2e.maven.runtime.的jar使其不再包含org/slf4j/impl/statibloggerbinder.class(或者更确切地说是包含它的jar)吗?还是有更好/更安全的方法?要在Eclipse中消除这个警告需要什么?

共有1个答案

侯和惬
2023-03-14

对我来说,Eclipse Maven:SLF4J:Class path包含多个SLF4J绑定工作。在Debian Linux中,我将/usr/share/maven添加到窗口/preferences/maven/installations中,这些警告就消失了。

 类似资料: