我正在使用Artifactory 5.2版,将maven2存储库配置为http://repo1.maven.org的智能存储库 因此,maven或gradle启动的任何构建都将请求Artifactory服务器上的依赖项,如果工件尚未缓存,则智能仓库将首先从http://repo1.maven.org下载文件,然后将内容提供给maven / gradle脚本。 这是按预期工作的,我不能在这里抱怨。
但是,我还需要使用jfrogcli直接下载依赖项,命令看起来像
jfrog rt dl maven2/com/google/guava/guava-parent/10.0.1/guava-parent-10.0.1.pom
据我所知,这在智能存储库中不起作用。
[Info] Searching items to download...
[Info] Downloaded 0 artifacts.
我找到的唯一解决方法是首先使用直接下载从maven2存储库请求工件,然后使用jfrog cli从maven2-cache存储库下载
curl -H ... -X GET <server>/artifactory/maven2/com/google/guava/guava-parent/10.0.1/guava-parent-10.0.1.pom
jfrog rt dl maven2-cache/com/google/guava/guava-parent/10.0.1/guava-parent-10.0.1.pom
我很确定我错过了一些简单的东西。智能存储库和jfrog cli,但我找不到一个简单的答案。欢迎任何反馈。
答案 0 :(得分:3)
这是与下载命令实现方式相关的JFrog CLI的已知限制
目前,CLI首先使用AQL(Artifactory Query Language)查询Artifactory,以获取应下载的工件列表。当您使用模式下载多个工件时,这非常有用
但是,AQL目前不支持查询尚未缓存的工件。这意味着CLI不会尝试下载未缓存的文件。