2016-02-04 112 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不會顯示響應主體。我建議你將使用最新的版本搜索 –