Maison >Java >javaDidacticiel >Comment exclure des dépendances transitives spécifiques dans Gradle à l'aide du paramètre « module » ?

Comment exclure des dépendances transitives spécifiques dans Gradle à l'aide du paramètre « module » ?

DDD
DDDoriginal
2024-10-26 02:48:02603parcourir

How to Exclude Specific Transitive Dependencies in Gradle Using the

Comment exclure sélectivement les dépendances transitives dans Gradle

Lors de la construction d'un projet avec Gradle, il est possible que le plugin d'application introduise des dépendances transitives indésirables, telles que org. slf4j:slf4j-log4j12. L'utilisation de la règle d'exclusion traditionnelle avec uniquement les paramètres de groupe et de nom peut entraîner l'exclusion d'un trop grand nombre d'artefacts, voire de configurations entières.

La solution : utiliser le paramètre de module

Pour exclure spécifiquement un artefact individuel sans affecter les autres dépendances, utilisez la syntaxe suivante :

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

Le paramètre module dans ExcludeRule spécifie l'artefact qui doit être exclu. Il est important de noter que le nom ne peut pas être utilisé dans une exclusion avec module.

Exclusion des dépendances individuelles

Pour exclure une dépendance transitive spécifique d'une dépendance particulière, utilisez l'approche suivante :

dependencies {
  compile ('org.springframework.data:spring-data-hadoop-core:2.0.0.M4-hadoop22') {
    exclude group: "org.slf4j", module: "slf4j-log4j12"
  }
}

Comprendre les modules dans Gradle

Dans Gradle, un module fait référence à un artefact spécifique au sein d'une dépendance. Il n'a pas de mappage direct avec le concept de modules Maven. Pour déterminer le module d'un artefact Maven, reportez-vous aux coordonnées Maven de l'artefact dans le référentiel Maven Central, qui incluent généralement des informations telles que groupId,artefactId et version.

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