Maison  >  Article  >  Java  >  Comment exclure des dépendances transitives spécifiques dans Gradle sans affecter les autres artefacts ?

Comment exclure des dépendances transitives spécifiques dans Gradle sans affecter les autres artefacts ?

Patricia Arquette
Patricia Arquetteoriginal
2024-10-30 02:29:28424parcourir

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

Exclusion des dépendances transitives spécifiques dans Gradle

Dans Gradle, l'exclusion des dépendances transitives est cruciale pour gérer les dépendances et optimiser les performances de build. Cette question explore comment exclure toutes les instances d'une dépendance transitive spécifique, org.slf4j:slf4j-log4j12, tout en préservant les autres artefacts slf4j nécessaires.

Initialement, définir une exclusion à l'aide du groupe runtime.exclude : "org.slf4j ", nom : "slf4j-log4j12" a exclu par inadvertance tous les artefacts slf4j. Pour résoudre ce problème, il est nécessaire d'utiliser module au lieu de name pour exclure les dépendances transitives, comme démontré par :

configurations {
  runtime.exclude group: "org.slf4j", module: "slf4j-log4j12"
}

Cette syntaxe exclut effectivement uniquement le module slf4j-log4j12 spécifique tout en permettant d'inclure d'autres artefacts slf4j. .

De plus, il est crucial de comprendre le concept de « module » dans Gradle. Le module correspond à un artefact Maven particulier. Gradle dérive le module à partir du groupId et de l'artefactId des artefacts Maven, en suivant la convention :

[group]:[artifactId]

Par conséquent, pour org.slf4j:slf4j-log4j12, le module est :

org.slf4j:slf4j-log4j12

En spécifiant le module, Gradle peut cibler et exclure avec précision des dépendances transitives spécifiques sans affecter les artefacts non liés.

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