我在Java 8运行时运行JBoss 4.2GA。
我的耳朵有多个战争,这些战争都有冲突的SLF4J绑定,
/slf4j-log4j12-1.7.5.jar and log4j-slf4j-impl-2.0.2.jar.
我可以让他们共存而不是“互相抱怨”吗?
答案 0 :(得分:0)
嗯,有多个绑定,所以抱怨是完全有效的。这只是一个信息,但SLF4J将决定使用哪种绑定并坚持使用它。如果您不想要该消息,则必须在.war文件中排除您不想要的依赖项。最后,无论如何只会使用一个绑定,自己做出这个选择是个好主意,而不是让一些代码随机选择一个。
SLF4J发出的警告只是一个警告。即便 存在多个绑定,SLF4J将选择一个日志记录 框架/实现并与它绑定。 SLF4J选择的方式 绑定由JVM确定,并且应该用于所有实际目的 被认为是随机的。从版本1.6.6开始,SLF4J将命名为 它实际上绑定的框架/实现类。
和...
不应声明嵌入式组件(如库或框架) 依赖于任何SLF4J绑定但仅依赖于slf4j-api。当一个 库声明了对SLF4J绑定的编译时依赖性 强加给最终用户的绑定,从而否定了SLF4J的目的。