首页 > Java > java教程 > 正文

如何在 Gradle 中排除特定的传递依赖而不影响其他工件?

Patricia Arquette
发布: 2024-10-30 02:29:28
原创
343 人浏览过

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

在 Gradle 中排除特定的传递依赖

在 Gradle 中,排除传递依赖对于管理依赖和优化构建性能至关重要。这个问题探讨了如何排除特定传递依赖项 org.slf4j:slf4j-log4j12 的所有实例,同时保留其他必要的 slf4j 工件。

首先,使用 runtime.exclude 组设置排除:“org.slf4j ", name: "slf4j-log4j12" 无意中排除了所有 slf4j 工件。为了解决这个问题,有必要使用模块而不是名称来排除传递依赖项,如下所示:

configurations {
  runtime.exclude group: "org.slf4j", module: "slf4j-log4j12"
}
登录后复制

此语法有效地仅排除特定的 slf4j-log4j12 模块,同时允许包含其他 slf4j 工件.

此外,理解 Gradle 中“模块”的概念也至关重要。模块对应于特定的 Maven 工件。 Gradle 根据 Maven 工件的 groupId 和 artifactId 派生出模块,遵循以下约定:

[group]:[artifactId]
登录后复制

因此,对于 org.slf4j:slf4j-log4j12,模块为:

org.slf4j:slf4j-log4j12
登录后复制

通过指定模块,Gradle 可以精确定位和排除特定的传递依赖项,而不会影响不相关的工件。

以上是如何在 Gradle 中排除特定的传递依赖而不影响其他工件?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!