从 artifactory 检索带有 maven 时间戳的工件

retrieve artifact with maven timestamp from artifactory

有没有办法检索带有 maven 时间戳的工件,因为它最初是由 maven 上传的?

来自詹金斯日志:

Uploading: http://artifactory.foo/artifactory/libs-snapshot-local/com/foo/foo-web-service/1.16.0-SNAPSHOT/foo-web-service-1.16.0-20160504.182015-2.tar.gz

人工制品 REST 的结果 api:

$ curl -X GET 'http://artifactory.foo/artifactory/api/search/gavc?g=com.foo&a=foo-web-service&v=1.16.0-SNAPSHOT&c=*&repos=libs-snapshot-local'
{
  "results" : [ {
    "uri" : "http://artifactory.foo/artifactory/api/storage/libs-snapshot-local/com/foo/foo-web-service/1.16.0-SNAPSHOT/foo-web-service-1.16.0-SNAPSHOT-sources.jar"
  }, {
    "uri" : "http://artifactory.foo/artifactory/api/storage/libs-snapshot-local/com/foo/foo-web-service/1.16.0-SNAPSHOT/foo-web-service-1.16.0-SNAPSHOT.pom"
  }, {
    "uri" : "http://artifactory.foo/artifactory/api/storage/libs-snapshot-local/com/foo/foo-web-service/1.16.0-SNAPSHOT/foo-web-service-1.16.0-SNAPSHOT.tar.gz"
  }, {
    "uri" : "http://artifactory.foo/artifactory/api/storage/libs-snapshot-local/com/foo/foo-web-service/1.16.0-SNAPSHOT/foo-web-service-1.16.0-SNAPSHOT.war"
  } ]
}

我想获得与通过 wget 或等效程序上传到的名称相同的名称...

我想达到的目标:

我目前实现的但不满足我的需求:

结论 如已接受的答案所述,问题出在工件配置本身。为了实现我想要的效果,我需要快照是独一无二的。

只要您的存储库配置为使用唯一快照(或使用客户端快照策略并且您使用 Maven 3 及更高版本),您始终可以使用 Maven 时间戳作为版本。将其替换为 -SNAPSHOT 是一个 "runtime" 技巧,可以使分辨率更容易。

如果您的存储库配置为使用非唯一快照,则文件实际上存储为 -SNAPSHOT 而不是版本并覆盖以前的快照(不要那样做).