Heim >Java >javaLernprogramm >So schließen Sie bestimmte transitive Abhängigkeiten in Gradle aus: Eine Lösung zum Ausschließen von slf4j-log4j12
Gradle ermöglicht das Ausschließen bestimmter transitiver Abhängigkeiten, um unerwünschte Artefakte in Ihren erstellten JAR-Dateien zu vermeiden. In diesem Artikel untersuchen wir, wie man org.slf4j:slf4j-log4j12 mithilfe von Gradle-Konfigurationen ausschließt.
Bei einem Gradle-Projekt, das das Anwendungs-Plugin verwendet, sind beim Ausschließen von slf4j-log4j12 Probleme aufgetreten seine Laufzeitabhängigkeiten. Erste Versuche, es mithilfe der runtime.exclude-Konfiguration auszuschließen, schlossen alle org.slf4j-Artefakte aus, einschließlich slf4j-api.
Um das Problem zu beheben, verwenden Sie die folgende Syntax, um beide Gruppen anzugeben und Modul:
configurations { runtime.exclude group: "org.slf4j", module: "slf4j-log4j12" }
Dieser Ansatz gewährleistet den Ausschluss nur der gewünschten Abhängigkeit, während andere org.slf4j-Artefakte unberührt bleiben.
Beim Ausschluss von einer Einzelperson Abhängigkeit sind nur die Gruppen- und Moduleigenschaften als Prädikate verfügbar. Im Gegensatz zu Abhängigkeitsdeklarationen können Sie keine beliebigen Eigenschaften wie den Namen angeben.
Das Konzept eines „Moduls“ in Gradle stimmt mit der Maven-Vorstellung der Artefakt-ID überein. Im obigen Beispiel stellt slf4j-log4j12 das Modul dar. Um den Modulnamen für ein Maven-Artefakt zu ermitteln, beziehen Sie sich auf dessen Artefakt-ID-Komponente.
Das obige ist der detaillierte Inhalt vonSo schließen Sie bestimmte transitive Abhängigkeiten in Gradle aus: Eine Lösung zum Ausschließen von slf4j-log4j12. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!