Heim > Java > javaLernprogramm > Hauptteil

Wie kann man bestimmte transitive Abhängigkeiten in Gradle ausschließen, ohne andere Artefakte zu beeinträchtigen?

Patricia Arquette
Freigeben: 2024-10-30 02:29:28
Original
423 Leute haben es durchsucht

How to Exclude Specific Transitive Dependencies in Gradle Without Affecting Other Artifacts?

Ausschluss spezifischer transitiver Abhängigkeiten in Gradle

In Gradle ist der Ausschluss transitiver Abhängigkeiten von entscheidender Bedeutung für die Verwaltung von Abhängigkeiten und die Optimierung der Build-Leistung. In dieser Frage wird untersucht, wie alle Instanzen einer bestimmten transitiven Abhängigkeit, org.slf4j:slf4j-log4j12, ausgeschlossen werden können, während andere notwendige slf4j-Artefakte erhalten bleiben.

Zunächst wird ein Ausschluss mithilfe der runtime.exclude-Gruppe festgelegt: „org.slf4j ", Name: „slf4j-log4j12“ hat versehentlich alle slf4j-Artefakte ausgeschlossen. Um dies zu beheben, ist es notwendig, zum Ausschließen transitiver Abhängigkeiten ein Modul anstelle eines Namens zu verwenden, wie Folgendes zeigt:

configurations {
  runtime.exclude group: "org.slf4j", module: "slf4j-log4j12"
}
Nach dem Login kopieren

Diese Syntax schließt effektiv nur das spezifische slf4j-log4j12-Modul aus, während andere slf4j-Artefakte einbezogen werden können .

Außerdem ist es wichtig, das Konzept des „Moduls“ in Gradle zu verstehen. Das Modul entspricht einem bestimmten Maven-Artefakt. Gradle leitet das Modul von der Gruppen- und Artefakt-ID der Maven-Artefakte ab und folgt dabei der Konvention:

[group]:[artifactId]
Nach dem Login kopieren

Daher lautet das Modul für org.slf4j:slf4j-log4j12:

org.slf4j:slf4j-log4j12
Nach dem Login kopieren

Durch die Angabe des Moduls kann Gradle gezielt auf bestimmte transitive Abhängigkeiten abzielen und diese ausschließen, ohne dass sich dies auf nicht verwandte Artefakte auswirkt.

Das obige ist der detaillierte Inhalt vonWie kann man bestimmte transitive Abhängigkeiten in Gradle ausschließen, ohne andere Artefakte zu beeinträchtigen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage