1

我正在使用 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

我很确定我错过了一些简单的东西。smart repositories 和 jfrog cli,但我找不到一个简单的答案。欢迎任何反馈。

4

1 回答 1

4

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

于 2017-06-29T16:15:06.047 回答