Artifactory returns 访问虚拟存储库时出现 HTTP 302 URL
Artifactory returns HTTP 302 when accessing virtual repository URL
我在使用 Artifactory v3.9.5 解决伪影时遇到了问题。我有以下设置:
- 名为 "gradle-snaphot" 的本地存储库允许快照
- 名为 "repos" 的虚拟存储库,其中包括 "gradle-snapshot"
- 工件 X 上传到 "gradle-snapshot"
现在,当我尝试直接获取工件时,它工作正常(凭证已通过但此处省略):
wget http://myrepo/artifactory/gradle-snapshot/x/SNAPSHOT/maven-metadata.xml?trace
但是当我尝试通过虚拟存储库获取工件时,它不起作用:
wget http://myrepo/artifactory/repos/x/SNAPSHOT/maven-metadata.xml?trace
wget 输出为:
Resolving myrepo... xx.xxx.xxx.xx
Connecting to myrepo|xx.xxx.xxx.xx|:80... connected.
HTTP request sent, awaiting response... 302 Moved Temporarily
Location: http://myrepo/artifactory/repos/x/SNAPSHOT/maven-metadata.xml/ [following]
--2015-12-11 11:17:18-- http://myrepo/artifactory/repos/x/SNAPSHOT/maven-metadata.xml/
Reusing existing connection to myrepo:80.
HTTP request sent, awaiting response... 404 Not Found
2015-12-11 11:17:18 ERROR 404: Not Found.
Artifactory 刚刚返回 302,暂时移动到同一个 URL,并添加了一个像目录符号一样的斜线。知道为什么不能以这种方式访问虚拟存储库吗?因此,我的 Gradle 构建无法解决此依赖关系。
此问题的根本原因是远程存储库指向 http://mirrors.ibiblio.org/pub/mirrors/maven2。
无论您使用哪个路径,更重要的是请求的资源是否存在,对该存储库的所有请求都将被重定向到 http://maven.ibiblio.org/maven2/。
结果是,当从虚拟存储库请求工件时,在某个时刻 Artifactory 将尝试从该远程存储库中获取工件,并将获得重定向到存储库根目录的 302 应答。 Artifactory 假设它获得了它正在寻找的资源(获得了 200 响应代码),但是返回的资源是一个文件夹,因此在 URL.
末尾附加了 /
最好的解决方案就是删除这个远程存储库并依赖 JCenter.
如果确实需要,请使用 http://maven.ibiblio.org/maven2/ URL 来保存重定向。
我在使用 Artifactory v3.9.5 解决伪影时遇到了问题。我有以下设置:
- 名为 "gradle-snaphot" 的本地存储库允许快照
- 名为 "repos" 的虚拟存储库,其中包括 "gradle-snapshot"
- 工件 X 上传到 "gradle-snapshot"
现在,当我尝试直接获取工件时,它工作正常(凭证已通过但此处省略):
wget http://myrepo/artifactory/gradle-snapshot/x/SNAPSHOT/maven-metadata.xml?trace
但是当我尝试通过虚拟存储库获取工件时,它不起作用:
wget http://myrepo/artifactory/repos/x/SNAPSHOT/maven-metadata.xml?trace
wget 输出为:
Resolving myrepo... xx.xxx.xxx.xx
Connecting to myrepo|xx.xxx.xxx.xx|:80... connected.
HTTP request sent, awaiting response... 302 Moved Temporarily
Location: http://myrepo/artifactory/repos/x/SNAPSHOT/maven-metadata.xml/ [following]
--2015-12-11 11:17:18-- http://myrepo/artifactory/repos/x/SNAPSHOT/maven-metadata.xml/
Reusing existing connection to myrepo:80.
HTTP request sent, awaiting response... 404 Not Found
2015-12-11 11:17:18 ERROR 404: Not Found.
Artifactory 刚刚返回 302,暂时移动到同一个 URL,并添加了一个像目录符号一样的斜线。知道为什么不能以这种方式访问虚拟存储库吗?因此,我的 Gradle 构建无法解决此依赖关系。
此问题的根本原因是远程存储库指向 http://mirrors.ibiblio.org/pub/mirrors/maven2。
无论您使用哪个路径,更重要的是请求的资源是否存在,对该存储库的所有请求都将被重定向到 http://maven.ibiblio.org/maven2/。
结果是,当从虚拟存储库请求工件时,在某个时刻 Artifactory 将尝试从该远程存储库中获取工件,并将获得重定向到存储库根目录的 302 应答。 Artifactory 假设它获得了它正在寻找的资源(获得了 200 响应代码),但是返回的资源是一个文件夹,因此在 URL.
末尾附加了 /
最好的解决方案就是删除这个远程存储库并依赖 JCenter.
如果确实需要,请使用 http://maven.ibiblio.org/maven2/ URL 来保存重定向。