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

无覆盖权限时使用jfrog gradle插件可覆盖release artifact问题问询

你遇到的情况属于遗漏了插件配置项,符合设计逻辑,和两个插件的默认实现差异有关,具体原因和解决方法如下:

原因说明

  1. Artifactory对Release版本制品的覆盖校验,除了基础的部署权限之外,还会校验请求头的X-Artifactory-Override参数,以及账号是否拥有Annotate权限
  2. maven-publish插件默认不会发送上述覆盖专用的请求头,所以重复发布正式版本时会触发预期的403错误
  3. 4.24.20版本的com.jfrog.artifactory插件默认会携带X-Artifactory-Override: true的请求头,你当前账号恰好拥有Annotate权限,两者叠加就可以绕过普通的覆盖禁止规则,直接覆盖已存在的正式版本制品。

解决方法

如果要禁止正式版本被意外覆盖,可任选以下一种方案:

  • 调整Gradle插件配置,明确关闭覆盖权限,添加配置如下:
artifactory {
    publish {
        defaults {
            override = false
        }
    }
}
  • 在Artifactory后台的对应Maven仓库配置中,开启「禁止部署覆盖」的全局强制开关,开启后无论请求头参数如何,所有正式版本的重复部署都会被拒绝
  • 回收对应发布账号的Annotate权限,该权限仅用于修改制品元数据,普通发布场景不需要该权限,回收后即使插件携带覆盖请求头也会被403拒绝。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 07:42:01