更新Artifactory属性失败:提示“未找到属性”,请求是否有误?
问题分析与解决
你遇到的404错误核心是curl命令的请求方法参数写错,结合Artifactory属性更新的规则,具体修正方案如下:
1. 修正HTTP请求方法参数
你的更新命令里用了-xpatch,但curl中指定HTTP请求方法的参数是大写的-X(小写-x是设置代理的参数),这会导致实际发送的不是PATCH请求,而是默认的GET请求,自然无法匹配属性更新的接口。
正确命令需将-xpatch改为-X PATCH:
curl -u <username> -X PATCH "<path_to_a_folder>/?properties=retention.days=365&recursive=0"
2. 确认目录路径格式
如果修正方法后仍报错,检查目标目录路径是否以/结尾。Artifactory的目录属性操作通常要求路径末尾带斜杠,例如:
curl -u <username> -X PATCH "http://your-artifactory-url/repo/path/to/target/folder/?properties=retention.days=365&recursive=0"
3. 额外验证项
- 确保你的账号拥有对应仓库的目录属性编辑权限;
- 若使用Artifactory旧版本,可尝试用
PUT方法替代PATCH,参数格式保持不变:
curl -u <username> -X PUT "<path_to_a_folder>/?properties=retention.days=365&recursive=0"
成功响应示例
修正后执行命令,成功时会返回类似如下结果:
{ "properties" : { "retention.days" : [ "365" ] }, "uri" : "<path_to_a_folder>" }
内容的提问来源于stack exchange,提问作者hellojoshhhy
相关产品推荐
相关产品推荐

