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

上传已存在制品时出现"Could not locate artifact"错误如何解决?

问题解决思路

核心原因分析

你遇到的404错误并非文件真的不存在,大概率是权限不足或仓库配置限制导致的:

  • 上传新文件仅需「Deploy」权限,但覆盖/删除操作需要额外的「Overwrite」和「Delete」权限
  • Artifactory存在特殊逻辑:当用户无对应权限或仓库禁止覆盖时,会返回404而非403,避免暴露文件存在的信息

具体解决步骤

1. 修正命令参数

首先补全URL路径(错误日志中的服务器路径包含/artifactory后缀,你当前命令的--url缺省了该部分),同时明确添加覆盖参数:

jf rt upload "/local/dir/" my-repo/path/to/ --recursive --url=https://my.artifactory.server.com/artifactory --flat --access-token $JFROG_ACCESS_TOKEN --overwrite=true

删除命令同理补全URL:

jf rt del my-repo/path/to/file.pdf --url=https://my.artifactory.server.com/artifactory --access-token $JFROG_ACCESS_TOKEN

2. 非交互式配置凭证(替代交互式jf rt c)

如果不想每次命令都重复携带URL和凭证,可直接用非交互式命令完成配置,适合脚本环境:

jf rt c --url=https://my.artifactory.server.com/artifactory --access-token=$JFROG_ACCESS_TOKEN --interactive=false

执行后后续命令无需再重复指定URL和凭证参数。

3. 检查仓库权限与配置

  • 权限验证:登录Artifactory后台,找到目标仓库my-repo的权限配置,确认当前access token对应的用户/组,是否开启了「Overwrite」和「Delete」权限(这两项与「Deploy」权限是独立控制的)
  • 仓库配置检查:进入仓库基础设置页面,确认「Allow Overwrite」选项处于开启状态,若该选项关闭,即使有权限也无法覆盖已存在文件

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.27 11:02:27