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.
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.
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" } }
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!