我使用Artifactory在我的服务器上设置本地存储库,让客户端从中下载Java包。
我为它部署了一个jar文件,客户端能够从服务器获取jar文件。
如果客户端请求并且它在本地存储库中不存在,那么本地存储库是否从中央存储库下载它并将其缓存以用于进一步的请求?我该如何确保?它在哪里保存这些包裹?我没有在默认的存储库中找到它。
BTW,默认情况下是否启用此功能,或者我们应配置Artificatory以启用此功能?
更新:
我监视请求日志,如果存储库中存在包,用户可以下载它,GET请求状态为200。但是当存储库中不存在包时,GET请求将响应404,并且我们期望应将包下载到本地存储库以进一步请求。但它仍在响应404,这意味着它没有缓存包,用户直接从中央存储库下载它而不通过我们的本地存储库。
答案 0 :(得分:5)
Artifactory将remote repositories与local repositories分开。
定义远程存储库(jcenter已预先配置后,您可以跳过此步骤),从相应存储库(http://host:port/artifactory/simple/jcenter/
或任何the virtual repositories jcenter
访问工件是其中一部分)将触发远程下载。您将能够在the tree browser中的jcenter-cache
存储库中看到下载的工件。
请花一点时间阅读the repositories documentation以清楚地了解存储库概念以及本地和远程存储库之间的区别。