maven - 在 Artifact 中添加远程存储库

标签 maven repository artifactory

我在远程存储库下的 Artifact 中有 jcenter 存储库。由于缺少一些 Artifact ,例如 qpid,我决定删除 jcenter 并将其添加回来。当我删除 jcenter 存储库并将其添加回来时,它没有下载任何 Artifact 。 存储库树结构如下所示 enter image description here

在删除 jcenter 存储库之前,它是这样的。 enter image description here 为什么它无法导入任何 Artifact ?我可以看到与其关联的 URL ( http://jcenter.bintray.com/ ) 有很多 Artifact 。

最佳答案

A remote repository在 Artifactory 中充当缓存代理。这意味着它从远程 URL 下载 Artifact 并将它们缓存在 Artifactory 中,
当您从 Artifactory 中删除 JCenter 存储库时,您删除了所有缓存的 Artifact 。
重新创建存储库后,您的缓存为空。这就是为什么当browsing jcenter-cache,您看不到任何 Artifact 。您可以使用 remote browsing能力,以查看哪些 Artifact 在远程 URL 中可用,但当前缓存不可用
要重新填充缓存,您需要从远程存储库下载 Artifact 。通常最好的方法是运行使用此存储库的构建。

如果问题是 Artifact 根本没有从远程存储库中解析,请尝试以下操作:

  • 确保在 Artifactory 中正确配置存储库。使用“测试”按钮确保 URL 正确并且您可以访问远程 URL。
  • 检查您的构建工具是否已正确配置以使用您配置的存储库。检查这一点的一种方法是监视 Artifactory request log寻找来自您的构建工具的请求。

当您缺少某些依赖项时,删除存储库并不是一个好的做法。更好的方法是检查它们是否在远程 URL 中可用并将它们下载到缓存中。 Artifactory 可以选择执行 remote search在 Bintray 中,它可以帮助您在 JCenter 中查找 Artifact 。

关于maven - 在 Artifact 中添加远程存储库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32442581/

相关文章:

security - 如何在不对它们进行硬编码的情况下从 buildscript 发送 Artifactory 发布凭据?

maven-2 - 我们应该使用 Nexus 还是 Artifactory 来构建 Maven 存储库?

maven - Jib-Maven-plugin 与 Jenkins 脚本化管道 : how to log in to private docker registry?

java - 编译 fatal error : invalid flag: --release for jdk 11 on Jenkins?

svn - 移动本地 SVN 存储库

git - 将 repo 移动到另一台计算机

linux - 从 Artifactory 安装 RPM 包

java - 强制 IDEA 使用正确的源代码版本

oracle - SQL*Plus 禁用或跳过接受提示

android - repo 下载后卡住了