2016-02-04 89 views
1

如果我将工件部署到版本号为1.0.0-SNAPSHOT的Maven存储库,它将获得内部版本号1.0.0-21321323-2(时间戳和数字)。我怎样才能找到这个版本号?部署SNAPSHOT版本 - 获取(时间戳)的版本号

+0

给定的数字是由您通常不需要的适当的存储库管理器创建的。或者你需要它?出于什么目的? – khmarbaise

+0

在某些情况下,我们使用显式版本(出于不同的原因)作为依赖关系。我需要在部署期间记录并存储它们以备将来参考。 –

+0

更加明确:我们的“预Maven系统”允许依赖“1.0.0-SNAPSHOT中的第三个版本”。出于传统和其他原因,我们需要以某种方式保持这种行为。 –

回答

2

将工件部署到Artifactory时,您将得到一个JSON响应,其中包含已部署工件的URI。您可以使用它来获取时间戳版本。例如:

{ 
    "repo" : "libs-snapshot-local", 
    "path" : "/org/jfrog/buildinfo/build-info-extractor-maven3/2.5.4-SNAPSHOT/build-info-extractor-maven3-2.5.4-20160205.203000-1.jar", 
    "created" : "2016-02-05T22:30:00.624+02:00", 
    "createdBy" : "admin", 
    "downloadUri" : "http://localhost:8081/artifactory/libs-snapshot-local/org/jfrog/buildinfo/build-info-extractor-maven3/2.5.4-SNAPSHOT/build-info-extractor-maven3-2.5.4-20160205.203000-1.jar", 
    "mimeType" : "application/java-archive", 
    "size" : "67966", 
    "checksums" : { 
    "sha1" : "f608440d5aadc64a5ef50320a385aeae49abd58a", 
    "md5" : "a844a8ab8226ff25854127480f3cfeac" 
    }, 
    "originalChecksums" : { 
    }, 
    "uri" : "http://localhost:8081/artifactory/libs-snapshot-local/org/jfrog/buildinfo/build-info-extractor-maven3/2.5.4-SNAPSHOT/build-info-extractor-maven3-2.5.4-20160205.203000-1.jar" 
} 

另一种选择是使用latest version search REST API,它允许搜索由groupId和artifactId的最新神器版本。 例如:

$ curl -uadmin:password "http://localhost:8081/artifactory/api/search/latestVersion?g=org.jfrog.buildinfo&a=build-info-extractor-maven3&v=2.5.4-SNAPSHOT&repos=libs-snapshot-local" 

2.5.4-20160205.203000-1 
+0

这需要什么样的部署?如果我使用maven deploy:deploy-file,我可能无法访问这些信息。 –

+0

任何部署都将获得此响应(对部署URL的PUT请求)。不过,Maven不会显示响应主体。我建议你将使用最新的版本搜索 –