Heim >Java >javaLernprogramm >So schließen Sie bestimmte transitive Abhängigkeiten in Gradle aus: Eine Lösung zum Ausschließen von slf4j-log4j12

So schließen Sie bestimmte transitive Abhängigkeiten in Gradle aus: Eine Lösung zum Ausschließen von slf4j-log4j12

Patricia Arquette
Patricia ArquetteOriginal
2024-10-26 18:35:30383Durchsuche

How to Exclude Specific Transitive Dependencies in Gradle:  A Solution for Excluding slf4j-log4j12

Ausschließen spezifischer Abhängigkeiten während der Gradle-Erstellung

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.

Problemstellung

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.

Lösung

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.

Zusätzliche Hinweise

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn