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

Gradle 9中project.version引发的废弃警告迁移示例咨询

Gradle 9 中 Task.project 执行时调用的废弃警告迁移方案

你遇到的警告是因为在任务执行阶段直接访问project.version违反了Gradle 9的新规范——执行阶段禁止访问project对象的属性,这会影响增量构建的可靠性。下面是两种符合文档建议的具体迁移实现:

方案一:脚本变量提前捕获版本号

在配置阶段就把project.version的值存入脚本变量,执行阶段直接使用变量即可:

def appVersion = project.version

tasks.processResources {
    filesMatching("**/*") {
        filter<ReplaceToken>(
            "beginToken" to "@",
            "tokens" to mapOf("version" to appVersion),
            "endToken" to "@"
        )
    }
}

方案二:显式声明任务输入属性(推荐)

通过给processResources任务添加输入属性,既解决警告,又让Gradle能追踪版本变化触发增量构建,更符合Gradle最佳实践:

tasks.processResources {
    // 把版本号声明为任务的输入属性,Gradle会在配置阶段解析值
    inputs.property("appVersion", project.version)

    filesMatching("**/*") {
        filter<ReplaceToken>(
            "beginToken" to "@",
            "tokens" to mapOf("version" to inputs.properties["appVersion"]),
            "endToken" to "@"
        )
    }
}

两种方案都能消除废弃警告,其中方案二更利于Gradle的构建缓存和增量构建优化,建议优先采用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.12 12:42:07