Versuchen, das berüchtigte SLF4J Mehrfachbindungen Problem auf Gradle zu lösen. Es gibt ungefähr eine Million Lösungen für Maven hier, aber keine von ihnen übersetzt nach Gradle (offensichtlich kein Gradle-Experte). Ich habe versucht, eine Handvoll von Lösungen mit configurations
aber keiner hat richtig funktioniert. Hier gibt es Fehler erhalte ich (wie ich bereits erwähnte Ich versuche, die Warnungen zu unterdrücken)Unterdrücken SLF4J Mehrfachbindung Gradle
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:~/.gradle/caches/modules-2/files-2.1/org.slf4j/slf4j-nop/1.7.22/3a4392836f875995446373b008e39cdb9a532fbe/slf4j-nop-1.7.22.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:~/.gradle/caches/modules-2/files-2.1/org.apache.logging.log4j/log4j-slf4j-impl/2.7/382b070836b8940a02d28c936974db95e9bfc3a4/log4j-slf4j-impl-2.7.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.helpers.NOPLoggerFactory]
Dies ist die einzige SLF4J Abhängigkeit in meinem Projekt:
dependencies {
compile group: 'org.slf4j', name: 'slf4j-nop', version: '1.7.+'
...
}
Auch ich bin wenn ich bei der Ausführung meiner Komponententests auf das Problem zugreife, wenn das hilft.
UPDATE: Die Figur aus einer der Abhängigkeiten wird org.apache.logging verwendet, die SLF4J wiederum verwendet. Wenn ich die Gruppe für den Apache-Logger ausschließe, schlägt das gesamte Programm fehl, weil diese Abhängigkeit eine ClassNotFoundException
auslöst. Also was nun?
Welche anderen Abhängigkeiten gehören zu Gradle, neben SLF4J? – badjr
Eine lange Liste von ihnen, wenn auch keine SLF4J oder LOG4J, zumindest direkt. Offensichtlich einer von ihnen oder mehrere haben es. – MarkII
Haben Sie 'runtime.exclude group' versucht, wie in [diese Antwort] (http://stackoverflow.com/a/21765656/1461484) gezeigt? – badjr