我遇到以下错误:
SLF4J: Found binding in [jar:file:/home/mmucha/.m2/repository/org/apache/activemq/activemq-all/5.15.8/activemq-all-5.15.8.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/home/mmucha/.m2/repository/ch/qos/logback/logback-classic/1.2.3/logback-classic-1.2.3.jar!/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.Log4jLoggerFactory]
据此,我知道log4jLoggerFactory是由activemq慷慨提供的。 mvn dependency:tree
什么都没给我显示,检查activemq jar文件中的pom.xml文件显示出一些依赖关系,但是到目前为止,我按照排除条件进行了设置,但仍然无法将其杀死。
问题:发现冲突的正确方法是什么?我缺少哪个排除项?
<dependency>
<groupId>org.apache.activemq</groupId>
<artifactId>activemq-all</artifactId>
<version>5.15.8</version>
<exclusions>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
</exclusion>
<exclusion>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
</exclusion>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
</exclusion>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>jcl-over-slf4j</artifactId>
</exclusion>
</exclusions>
</dependency>
更新/奖金问题:
我什么都不做,但是运行了几次神秘且不推荐使用的命令:
mvn -U idea:idea
我不知道该怎么做,但是每次创意都有些疯狂时,它会有所帮助。因此,在此治愈之后,实际绑定更改为:
Actual binding is of type [ch.qos.logback.classic.util.ContextSelectorStaticBinder]
表示我终于得到了可读的日志,但是,烦人的警告仍然存在,因此原始问题也是如此。并且对目标理念的任何解释:理想的解决原本无法解决的理念。有想法吗?
答案 0 :(得分:0)
您正在使用哪个IDE?
IntelliJ:-打开pom.xml
按 ALT + CNTRL + SHIFT + U或右键单击图->显示依赖项
现在它将弹出一个图表窗口,您可以在其中搜索依赖项
activemq-all-5.15.8.jar和logback-classic-1.2.3.jar
它将为您显示所有依赖项的图形视图。您可以看到包含这些JAR的父JAR,并且可以排除您真正不想使用的JAR。
答案 1 :(得分:0)
以下是经过测试的有效示例,可以解决该问题:
<dependencies>
<!-- Spring JMS -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jms</artifactId>
<version>${springframework.version}</version>
<exclusions>
<exclusion>
<artifactId>commons-logging</artifactId>
<groupId>commons-logging</groupId>
</exclusion>
</exclusions>
</dependency>
<!-- ActiveMQ -->
<dependency>
<groupId>org.apache.activemq</groupId>
<artifactId>activemq-all</artifactId>
<version>${activemq.version}</version>
</dependency>
<!-- Test -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<version>${spring-boot-test.version}</version>
<scope>test</scope>
</dependency>
</dependencies>