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

执行gradle clean build构建失败:无法设置sourcesJar的classifier属性

Gradle构建失败:无法为Jar任务设置classifier属性

问题重现

执行命令:gradle clean build --stacktrace

构建失败关键错误:

应用插件'world-standalone-root'失败。
无法为类型为org.gradle.api.tasks.bundling.Jar的任务':reliance-aar:sourcesJar'设置未知属性'classifier'。

错误位置:构建文件 C:\Users\dayasagar.kmr\sun\reliance\build.gradle 第25行

问题原因

Gradle 7.x及以上版本中,Jar任务的classifier属性已被废弃,替换为archiveClassifier属性。当前使用的world-standalone-root插件(或自定义构建脚本)仍在使用旧的classifier属性,导致与Gradle 8.0不兼容。

解决方案

方案1:修改自定义任务配置(如果是手动定义的sourcesJar任务)

如果是在build.gradle中自行定义了sourcesJar任务,将classifier替换为archiveClassifier:

// 旧配置
task sourcesJar(type: Jar) {
    classifier = 'sources'
    // 其他配置
}

// 修改为新配置
task sourcesJar(type: Jar) {
    archiveClassifier.set('sources')
    // 其他配置
}

方案2:升级world-standalone-root插件

如果sourcesJar任务是由world-standalone-root插件自动生成的,需要升级该插件到兼容Gradle 8.0的版本:

  • 找到根build.gradle中应用该插件的代码,更新版本号:
plugins {
    id 'world-standalone-root' version '兼容Gradle8.0的版本号'
}
  • 若插件是通过buildscript引入的,同样更新版本:
buildscript {
    repositories {
        // 仓库配置
    }
    dependencies {
        classpath '插件groupId:world-standalone-root:兼容Gradle8.0的版本号'
    }
}

方案3:临时兼容(不推荐长期使用)

如果暂时无法升级插件或修改脚本,可以通过添加属性映射临时兼容:

tasks.withType(Jar) {
    ext.classifier = { archiveClassifier.get() }
    setProperty('classifier', 'sources')
}

此方法仅为临时 workaround,建议尽快完成版本适配。

额外提示

本次构建还提示存在与Gradle 9.0不兼容的废弃特性,可执行gradle clean build --warning-mode all查看具体废弃项,提前做好适配准备。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 01:17:26