首页  >  文章  >  Java  >  如何在 Gradle 中排除特定的传递依赖:排除 slf4j-log4j12 的解决方案

如何在 Gradle 中排除特定的传递依赖:排除 slf4j-log4j12 的解决方案

Patricia Arquette
Patricia Arquette原创
2024-10-26 18:35:30284浏览

How to Exclude Specific Transitive Dependencies in Gradle:  A Solution for Excluding slf4j-log4j12

在 Gradle 构建期间排除特定依赖项

Gradle 允许排除特定传递依赖项,以避免构建的 jar 文件中出现不需要的工件。在本文中,我们将探讨如何使用 Gradle 配置排除 org.slf4j:slf4j-log4j12。

问题陈述

使用应用程序插件的 Gradle 项目在排除 slf4j-log4j12 时遇到了挑战它的运行时依赖项。最初尝试使用 runtime.exclude 配置排除所有 org.slf4j 工件,包括 slf4j-api。

解决方案

要解决此问题,请使用以下语法指定两个组和模块:

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

此方法可确保仅排除所需的依赖项,而其他 org.slf4j 工件不受影响。

附加注释

从个人中排除时依赖项,只有组和模块属性可用作谓词。与依赖项声明不同,您不能指定名称等任意属性。

Gradle 中“模块”的概念与 Maven 的 ArtifactId 概念一致。在上面的示例中,slf4j-log4j12 代表模块。要确定 Maven 工件的模块名称,请参阅其artifactId 组件。

以上是如何在 Gradle 中排除特定的传递依赖:排除 slf4j-log4j12 的解决方案的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn