Artifactory配置repo.grails.org远程仓库拉取maven-metadata.xml404如何解决
repo.grails.org 对应Artifactory远程仓库正确配置方案
核心配置参数
新建普通Maven类型远程仓库,不要使用智能远程仓库模式,按以下参数填写:
- 仓库URL:
https://repo.grails.org/core/必须携带末尾斜杠,这是解决maven-metadata.xml 404的核心配置 - 仓库布局:选择
maven-2-default - 关闭
列出远程文件夹内容选项:repo.grails.org关闭了匿名用户的目录浏览权限,开启该选项会触发无权限报错 - 重定向策略选择
始终跟随重定向 - 其余参数保持Maven远程仓库默认值即可,不需要额外填鉴权信息,该仓库支持匿名拉取
之前测试异常的原因说明
- 填
https://repo.grails.org/core(不带末尾斜杠)时404:Artifactory代理请求时的路径拼接逻辑要求仓库根地址必须以/结尾,不带斜杠时拼接maven-metadata.xml这类层级路径会丢失core路径段,错误请求到根路径下的资源,自然返回404;而jar、pom等具体文件的请求逻辑做了无斜杠兼容,所以能正常拉取 - 填
https://repo.grails.org/artifactory走智能远程报500:智能远程模式需要调用Artifactory系统级API拉取目标实例的仓库清单、权限配置,repo.grails.org关闭了匿名用户的系统API访问权限,接口请求直接报错;保存后无制品是因为智能模式未拿到有效仓库列表,无法生成正确的代理路径 - 测试
/artifactory/core、/artifactory/api/core等路径仍404:/artifactory/*是Artifactory 6.x及更早版本的遗留路径前缀,repo.grails.org升级7.x后仅对部分具体文件请求做了旧路径兼容,没有覆盖maven-metadata.xml这类元数据文件的请求规则;其余/api/*路径是服务接口地址,本身不是Maven仓库根路径,无法正常代理全量Maven资源
配置后注意事项
配置保存后,先进入自有Artifactory的缓存管理页面,清除之前测试产生的404错误缓存,避免旧的错误缓存导致请求持续失败,之后就可以正常给Maven客户端使用了。
内容的提问来源于stack exchange,提问作者dchidelf
相关产品推荐
相关产品推荐

