You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修改Gradle版本目录中定义的模块名称以追加版本后缀?

解决Gradle依赖名称追加版本后缀的问题

你遇到的问题是因为直接修改artifact块的name不会改变依赖的核心坐标(group:name:version),Gradle依然会使用原始名称去搜索仓库路径。以下是两种可行的解决方式:

方式一:直接构造完整依赖坐标

跳过version catalog的预定义,在构建脚本中直接拼接出目标依赖的完整坐标:

modImplementation("software.bernie.geckolib:geckolib-fabric-${libs.versions.minecraft.get()}:${libs.versions.geckolib.get()}")

这种方式最直接,直接指定了包含Minecraft版本后缀的依赖名称,Gradle会按照你需要的路径.../software/bernie/geckolib/geckolib-fabric-1.20.1/...去搜索依赖。

方式二:修改Version Catalog的配置(更优雅的复用方式)

如果你想继续使用version catalog管理依赖,可以在libs.versions.toml中调整配置,通过占位符动态生成名称:

1. 更新libs.versions.toml

[versions]
minecraft = "1.20.1"
geckolib = "4.4.4"

[libraries]
geckolib = { group = "software.bernie.geckolib", name = "geckolib-fabric-{mcVersion}", version.ref = "geckolib" }

2. 在build.gradle.kts中替换占位符

val mcVersion = libs.versions.minecraft.get()
modImplementation(libs.geckolib) {
    // 替换名称中的占位符为实际Minecraft版本
    val targetName = name.replace("{mcVersion}", mcVersion)
    // 重新设置依赖的模块坐标
    setModule("${module.group}:$targetName:${module.version}")
}

这里通过setModule方法直接修改了整个依赖的坐标模块,确保Gradle使用拼接后的名称去搜索仓库。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 09:33:28