2017-06-29 35 views
1

我正在使用Artifactory 5.2版,并将maven2存储库配置为智能存储库http://repo1.maven.org 因此,由maven或gradle启动的任何构建都将请求Artifactory服务器,如果工件尚未被缓存,智能回购将首先从http://repo1.maven.org下载文件,然后将内容提供给maven/gradle脚本。 这按预期工作,我不能在这里抱怨。使用JFrogCLI从Artifactory上的智能回购下载工件

不过,我还需要下载使用直接依赖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的缓存库

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,但我找不到一个简单的答案。欢迎任何反馈。

回答

2

这是JFrog CLI与下载命令实现方式有关的已知限制。
当前,CLI首先使用AQL(Artifactory Query Language)查询Artifactory以获取应下载的工件列表。当您使用模式下载多个工件时,这非常有用。
但是,AQL目前不支持查询尚未被高速缓存的工件。这意味着CLI不会尝试下载未缓存的文件。

+0

感谢您的快速回答。我想我会结合curl + jfrogcli或者'mvn dependency:get'来下载我需要的东西。 – ajeans

相关问题