Maven SLF4J:类路径包含多个SLF4J绑定[外部依赖项]

时间:2015-07-27 19:13:17

标签: java maven spring-boot

我知道我可以排除我在maven中执行的绑定之一,所以我的springboot.jar只包含logback和logback-slf绑定但是我在spring-boot类路径中引用的这个外部jar引入了slf4j- log4j在运行时绑定并感到困惑。

java -Dprofile=dev -Dloader.path=springboot.jar,/usr/local/hadoop/lib,/usr/local/hbase/lib -jar springboot.jar

SLF4J: Found binding in [jar:file:/runtime/external/classpath/slf4j-log4j12-1.7.5.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/build/jar/path/springboot.jar!/lib/logback-classic-1.1.2.jar!/org/slf4j/impl/StaticLoggerBinder.class]

当绑定冲突与外部依赖关系时,如何解决这个问题? 感谢

1 个答案:

答案 0 :(得分:0)

您必须以某种方式从类路径中排除这些jar。所以你不应该添加hbase lib目录,而是枚举所有的jar文件。

如果您使用bash启动应用程序,可以利用其模式匹配:/usr/local/hbase/lib/!(slf4j-log4j12-*)

P.S。这不是一个引发问题的问题......