Heim >Java >javaLernprogramm >Wie schließe ich bestimmte transitive Abhängigkeiten in Gradle aus?

Wie schließe ich bestimmte transitive Abhängigkeiten in Gradle aus?

Barbara Streisand
Barbara StreisandOriginal
2024-10-26 08:23:301064Durchsuche

How do I exclude specific transitive dependencies in Gradle?

So schließen Sie transitive Abhängigkeiten mit Gradle aus

Hintergrund

Gelegentlich müssen Sie möglicherweise bestimmte Abhängigkeiten aus Ihrem Gradle-Projekt ausschließen. Dies ist besonders nützlich, wenn in Ihrem Projekt eine Bibliothek mit unerwünschten transitiven Abhängigkeiten enthalten ist.

Lösung

Um eine einzelne transitive Abhängigkeit auszuschließen, verwenden Sie die Ausschlussregel mit Angabe von Gruppe und Modul. Hier ist ein Beispiel:

<code class="groovy">configurations {
  runtime.exclude group: "org.slf4j", module: "slf4j-log4j12"
}</code>

Erklärung

Eine Ausschlussregel benötigt zwei Attribute: Gruppe und Modul. Indem Sie sowohl die Gruppe als auch das Modul angeben, identifizieren Sie genau die Abhängigkeit, die Sie ausschließen möchten.

Wenn Sie versuchen, eine beliebige Eigenschaft (z. B. einen Namen) in der Ausschlussregel anzugeben, gibt Gradle einen Fehler aus. Dies liegt daran, dass Ausschlussregeln nur Gruppen- und Moduleigenschaften akzeptieren.

Maven-Modul vs. Gradle-Modul

In Maven entspricht das Konzept eines Moduls einem Glas. In Gradle ist der Begriff Modul jedoch flexibler und kann sich auf ein einzelnes Artefakt oder eine Gruppe verwandter Artefakte beziehen (z. B. ein Plugin mit mehreren Abhängigkeiten). Die spezifische Bedeutung des Moduls in einer Gradle-Ausschlussregel hängt vom Kontext ab.

Zusätzliche Hinweise

  • Um eine Abhängigkeit von einer bestimmten einzelnen Abhängigkeit auszuschließen, verwenden Sie die folgende Syntax:
<code class="groovy">dependencies {
  compile ('org.springframework.data:spring-data-hadoop-core:2.0.0.M4-hadoop22') {
    exclude group: "org.slf4j", module: "slf4j-log4j12"
  }
}</code>

Das obige ist der detaillierte Inhalt vonWie schließe ich bestimmte transitive Abhängigkeiten in Gradle aus?. 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