Maison >Java >javaDidacticiel >Comment exclure des dépendances transitives spécifiques dans Gradle ?

Comment exclure des dépendances transitives spécifiques dans Gradle ?

Barbara Streisand
Barbara Streisandoriginal
2024-10-26 08:23:301063parcourir

How do I exclude specific transitive dependencies in Gradle?

Comment exclure les dépendances transitives avec Gradle

Contexte

De temps en temps, vous devrez peut-être exclure des dépendances spécifiques de votre projet Gradle. Ceci est particulièrement utile lorsqu'une bibliothèque avec des dépendances transitives indésirables est incluse dans votre projet.

Solution

Pour exclure une dépendance transitive individuelle, utilisez la règle d'exclusion avec le groupe et le module spécifiés. Voici un exemple :

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

Explication

Une règle d'exclusion prend deux attributs : groupe et module. En spécifiant à la fois le groupe et le module, vous identifiez précisément la dépendance que vous souhaitez exclure.

Si vous tentez de spécifier une propriété arbitraire (par exemple, un nom) dans la règle d'exclusion, Gradle générera une erreur. En effet, les règles d'exclusion n'acceptent que les propriétés de groupe et de module.

Module Maven vs module Gradle

Dans Maven, le concept de module est équivalent à un pot. Dans Gradle, cependant, le terme module est plus flexible et peut faire référence à un seul artefact ou à un groupe d'artefacts associés (par exemple, un plugin avec plusieurs dépendances). La signification spécifique du module dans une règle d'exclusion Gradle dépendra du contexte.

Notes supplémentaires

  • Pour exclure une dépendance d'une dépendance individuelle spécifique, utilisez la syntaxe suivante :
<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>

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn