相关疑难解决方法(0)

使用dropwizard的阴影jar我得到:类路径包含多个SLF4J绑定

我可能在这里做了些蠢事.我的dropwizard设置有一些(小的)错误.运行着色jar工作正常,但在执行集成测试时,我收到此警告:

SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/graphhopper/web/target/graphhopper-web-0.11-SNAPSHOT.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/home/user/.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 [ch.qos.logback.classic.util.ContextSelectorStaticBinder]
INFO  [2018-04-08 18:44:27,653] org.eclipse.jetty.util.log: Logging initialized @1090ms to org.eclipse.jetty.util.log.Slf4jLog
Run Code Online (Sandbox Code Playgroud)

graphhopper-web-0.11-SNAPSHOT.jar是带有dropwizard(带有logback)的阴影jar.

通常意味着类路径上不止一个slf4j绑定,但我可以拒绝这个理论,只有slf4j-api存在,加上dropwizard的logback依赖.我还用Netbeans和.分析了依赖图

mvn dependency:tree -Dverbose -Dincludes=org.slf4j

(见这里的输出)但找不到有问题的东西.

是否可以将阴影jar(带有logback)以某种方式与其他jar(包括logb​​ack)一起放入classpath中mvn clean install?我怎么能避免这个?

通过以下方式重现:

git clone https://github.com/graphhopper/graphhopper
cd web
mvn clean install
Run Code Online (Sandbox Code Playgroud)

看到这个问题.

logback slf4j dropwizard

5
推荐指数
1
解决办法
546
查看次数

标签 统计

dropwizard ×1

logback ×1

slf4j ×1