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

Gradle上传Artifactory时重命名war制品及配置问题咨询

问题1:自定义Artifactory中展示的WAR文件名

可以实现,推荐两种配置方案:

  • 方案1:在Maven发布配置中直接指定最终文件名
    修改publishing段配置如下即可:
publishing {
    publications {
        mavenJava(MavenPublication) {
            // 注释掉原有from components.web配置
            artifact("build/libs/Sample.war") {
                fileName = "WELCOME.war"
            }
            groupId = 'ABCD'
            artifactId = 'DEV'
            version = "1.0"
        }
    }
}
  • 方案2:直接修改war任务的输出文件名
    如果用的是Gradle高版本,archiveName属性已废弃,推荐用如下配置:
war {
    archiveFileName.set("WELCOME.war")
}

后续发布时会自动沿用war任务输出的文件名。

问题2:设置publishPom=false后POM文件依然发布的原因

publishPom参数仅对旧版本基于publishConfigs的配置发布逻辑生效,你当前用的是maven-publish插件的publications发布逻辑,该参数不会生效。
要关闭POM文件发布,可在publication配置中添加禁用规则:

publishing {
    publications {
        mavenJava(MavenPublication) {
            // 添加这行直接清空POM内容,避免发布
            pom.withXml { asNode().remove(asNode()) }
            from components.web
            groupId = 'ABCD'
            artifactId = 'DEV'
            version = "1.0"
        }
    }
}

也可以直接替换from components.web为指定war文件的配置,就不会自动生成POM文件。

问题3:上传自定义命名的Sample.war到Artifactory

按如下两步调整配置即可:

  1. 确保war任务输出文件名配置正确,低版本Gradle可沿用你现有war.archiveName "Sample.war"配置,高版本建议替换为war.archiveFileName.set("Sample.war")
  2. 修改publication配置,直接绑定war任务的输出文件:
publishing {
    publications {
        mavenJava(MavenPublication) {
            // 替换原有from components.web配置,直接引用war任务输出
            artifact war.outputs.files.singleFile
            groupId = 'ABCD'
            artifactId = 'DEV'
            version = "1.0"
        }
    }
}

调整完成后重新执行gradle build artifactoryPublish,即可将Sample.war上传至Artifactory。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 16:27:03