Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Maven 部署快照版本-获取(时间戳)版本号_Maven_Nexus_Artifactory_Snapshot - Fatal编程技术网

Maven 部署快照版本-获取(时间戳)版本号

Maven 部署快照版本-获取(时间戳)版本号,maven,nexus,artifactory,snapshot,Maven,Nexus,Artifactory,Snapshot,如果我将一个工件部署到版本号为1.0.0-SNAPSHOT的Maven存储库中,它将获得一个内部版本号,格式为1.0.0-21323-2(时间戳和编号)。如何找到此版本号?将工件部署到Artifactory时,您会得到一个JSON响应,其中包括已部署工件的URI。您可以使用它来获取时间戳版本。例如: { "repo" : "libs-snapshot-local", "path" : "/org/jfrog/buildinfo/build-info-extractor-maven3/2.

如果我将一个工件部署到版本号为1.0.0-SNAPSHOT的Maven存储库中,它将获得一个内部版本号,格式为1.0.0-21323-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"
}
$ 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
另一个选项是使用RESTAPI,它允许通过groupId和artifactId搜索最新的工件版本。 例如:

{
  "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"
}
$ 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

给定的编号是由适当的存储库管理器创建的,您通常不需要这样做。或者你需要它?出于什么目的?在某些情况下,我们使用显式版本(出于不同的原因)作为依赖项。我需要在部署期间记录并存储它们,以备将来参考。更明确地说,我们的“pre-maven系统”允许依赖于“1.0.0-SNAPSHOT中的第三个版本”。出于传统和其他原因,我们需要以某种方式保持这种行为。我假设您正在使用某种CI解决方案,比如Jenkins?如果是,您可以在jenkins完成构建后通过REST API访问此信息(您需要使用deploy linke插件),您可以使用从jenkins提取信息…例如在Java中…这需要什么样的部署?如果使用maven deploy:deploy文件,我可能无法访问此信息。任何部署都将得到此响应(将请求放入部署URL)。但是,Maven不会显示响应主体。我建议您改用最新版本的搜索