当我将SLF4J记录器添加到我的代码中时,我收到一条错误消息,“类路径包含多个SLF4J绑定”。在网站slf4j.org/codes上,它声明我应该从类路径中删除它们。但是,这两个记录器包含在我的maven依赖项中。我的整个maven依赖文件夹都包含在类路径中。我不负责maven依赖项的内容,因此我不能编辑它,以便它只在maven依赖项文件夹中有一个logger依赖项。我可以指定Java程序,以便它只使用其中一个记录器吗?
EJAY
答案 0 :(得分:1)
如果您确定无法调整现有的maven依赖项来解决问题,可以先确保SLF4J绑定首先出现在类路径中,因为第一个绑定是在多个情况下使用的绑定绑定。
然而,您仍然会收到警告,但您的SLF4J记录器将会被使用。
您还可以考虑使用maven模块将项目拆分为多个部分,以便您可以在每个模块的pom.xml文件中以不同方式管理每个部分中的依赖关系。
答案 1 :(得分:1)
找出你的项目的哪些依赖项包括slf4j实现,然后排除它:
<dependency>
<groupId>other-group</groupId>
<artifactId>dependency-id</artifactId>
<exclusions>
<exclusion>
<groupId>org.slf4j</groupId>
<!-- or slf4j-jdk14, etc -->
<artifactId>slf4j-simple</artifactId>
</exclusion>
</exclusions>
</dependency>