Gradle編譯時引用包衝突

Gradle項目引用zipkin-server時,報錯html

SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/C:/gradle-4.6/caches/modules-2/files-2.1/org.apache.logging.log4j/log4j-slf4j-impl/2.11.2/4d44e4edc4a7fb39f09b95b09f560a15976fa1ba/log4j-slf4j-impl-2.11.2.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/C:/Users/wanghui/.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.apache.logging.slf4j.Log4jLoggerFactory]
Exception in thread "main" java.lang.StackOverflowError
    at org.apache.logging.log4j.util.StackLocator.getCallerClass(StackLocator.java:108)
    at org.apache.logging.log4j.util.StackLocator.getCallerClass(StackLocator.java:121)
    at org.apache.logging.log4j.util.StackLocatorUtil.getCallerClass(StackLocatorUtil.java:55)
    at org.apache.logging.slf4j.Log4jLoggerFactory.getContext(Log4jLoggerFactory.java:42)
    at org.apache.logging.log4j.spi.AbstractLoggerAdapter.getLogger(AbstractLoggerAdapter.java:46)
    at org.apache.logging.slf4j.Log4jLoggerFactory.getLogger(Log4jLoggerFactory.java:29)
    at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:358)

由於Slf4j2餘logback引用的包是衝突的,須要把它排除掉,使用方法java

compile (group: 'io.zipkin.java', name: 'zipkin-server', version: '2.12.9'){
        exclude group: 'org.slf4j',module: 'slf4j-api'
    }

然鵝,仍是不正確,報錯了,想到可gradle查看包引用的命令,試一試apache

執行命令
gradle dependencyInsight --dependency 依賴包
例如
gradle dependencyInsight --dependency slf4j-api

貌似也沒有問題。。api

最後參考官網https://www.slf4j.org/codes.html#multiple_bindings 把第一個文件刪除掉了,這樣就編譯過了
可是這個不是解決問題的辦法啊。。。。。gradle

相關文章
相關標籤/搜索