You need to enable JavaScript to run this app. Gradle依赖输出中(c)与(n)后缀分别代表什么含义
优惠活动
大模型
产品
解决方案
定价
更多

Gradle依赖输出中(c)与(n)后缀分别代表什么含义

Gradle依赖树输出后缀标记说明

执行gradlew dependencies扫描依赖时,输出条目末尾带的各类后缀标记含义如下:

  • (*):代表该依赖的完整嵌套子依赖关系已经在依赖树的其他分支展示过,此处不再重复展开子依赖内容,避免冗余信息占满输出。对应示例输出里的+--- com.jakewharton.timber:timber:4.7.1 (*)就属于这个场景。
  • (n):全称为non-requireable,代表该条目是无法作为实际编译、运行类路径的配置元数据,不会参与最终的依赖解析、打包流程。这类条目一般来自平台BOM导入、纯版本规则声明的场景,本身不会引入实际的类库文件。
  • (c):全称为constraint,代表该条目的最终解析版本是由依赖约束规则推导得出,而非依赖声明中直接指定的版本。对应示例输出里的+--- com.jakewharton.timber:timber:{strictly 4.7.1} -> 4.7.1 (c),就是该依赖被严格版本约束锁定到4.7.1版本,后缀的(c)明确标识这个版本结果受约束规则影响,不属于依赖原始声明的直接版本。

补充说明:(c)、(n)这类标记是Gradle 6.0版本后新增的输出标识,旧版本Gradle的依赖输出仅会展示(*)标记;新增这些标记的目的是帮助用户快速区分纯版本约束、非可加载的元数据条目,避免和实际会进入类路径的依赖条目混淆。

内容的提问来源于stack exchange,提问作者OrenIshShalom

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.26 19:36:05