解决slf4j 冲突
2016-06-24 10:09
309 查看
可能出现的异常:
发现配置的logback.xml文件没有起作用,于是分析了一下启动log,发现log中出现了SLF4J冲突异常:SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Failed to load class “org.slf4j.impl.StaticLoggerBinder”
原因分析:
既然是冲突,那可能就是项目中依赖了多个不同版本的slf4j类库,那如何分析到底是哪几个类库依赖了slf4j呢?我们可以使用dependency:tree命令:
$ mvn dependency:tree
解决:
经过依赖tree的分析,发现Zookeeper和Dubbo类库各自都引用了slf4j类库,于是使用<exclusions>标签排除掉传递依赖。
<dependency> <groupId>com.alibaba</groupId> <artifactId>dubbo</artifactId> <version>2.8.4</version> <exclusions> <exclusion> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.apache.zookeeper</groupId> <artifactId>zookeeper</artifactId> <version>3.4.6</version> <exclusions> <exclusion> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> </exclusion> <exclusion> <groupId>log4j</groupId> <artifactId>log4j</artifactId> </exclusion> </exclusions> </dependency>
其它各种依赖冲突都可以使用这种方式解决。
相关文章推荐
- maven实战的实践
- SHA-1值冲突解决方法
- AndroidStudio引入环信easeui库出错
- maven依赖包版本冲突小尝试
- mahout(或者hadoop)优先使用用户指定的classpath加载jar包
- Maven依赖进阶
- 使用org.w3c.dom.Element的setTextContent()、getTextContent()方法时出现编译错误
- 重新看待Jar包冲突问题及解决方案
- maven排查jar包版本冲突
- 由maven依赖的jar包有误导致tomcat运行报错的一种解决思路
- Weblogic启动web应用报内存溢出错误
- Error:'D:\ProgramFiles\JDK\jdk1.7\bin\java.exe'' finished with non-zero exit value 2
- Gradle资源冲突
- 访问项目时报java.lang.LinkageError错误
- Maven解决jar包依赖冲突
- Maven的Jar包冲突导致java.lang.NoSuchMethodError错误
- transformClassesWithJarMergingForRelease解决办法 解决版本冲突 解决jar包冲突
- Jar包冲突引发的血案
- 利用maven工具解决jar包冲突问题或重复加载问题
- cause java.lang.NoSuchMethodError: antlr.collection