检索Maven Snapshot的时间戳

时间:2013-08-06 11:27:15

标签: maven nexus snapshot

我正在使用Maven 3.0.5&关系。

我在Nexus存储库中有SNAPSHOT工件。这些都按预期工作。

Nexus中的工件显示如下:

的artifactId-1.1.0- 20130806.104205-5 .pom

这很好。 SNAPSHOT作为时间戳扩展。

当我进行mvn构建时,会按预期检索最新的快照。一切都运作良好。

问题是,我希望能够检索已解析工件的时间戳。如果我执行“mvn -X”选项,调试日志中显示的所有内容都是ArtifactId-1.1.0-SNAPSHOT,而不是时间戳。

我似乎无法显示哪些时间戳已被检索。我可以将一些查看.m2的脚本放在一起,但是我想知道是否有一种干净的方式来显示正在使用的SNAPSHOT的时间戳?

2 个答案:

答案 0 :(得分:1)

尝试使用Nexus REST resolve API

以下示例:

http://myrepo:8081/nexus/service/local/artifact/maven/resolve?r=central&g=log4j&a=log4j&v=1.2.6

返回:

<artifact-resolution>
  <data>
    <presentLocally>true</presentLocally>
    <groupId>log4j</groupId>
    <artifactId>log4j</artifactId>
    <version>1.2.6</version>
    <extension>jar</extension>
    <snapshot>false</snapshot>
    <snapshotBuildNumber>0</snapshotBuildNumber>
    <snapshotTimeStamp>0</snapshotTimeStamp>
    <sha1>4bf32b10f459a4ecd4df234ae2ccb32b9d9ba9b7</sha1>
    <repositoryPath>/log4j/log4j/1.2.6/log4j-1.2.6.jar</repositoryPath>
  </data>
</artifact-resolution>

对于快照修订,它将返回时间戳。

答案 1 :(得分:0)

也许你可以使用dependencySet:

<outputFileNameMapping>${artifact.artifactId}-${artifact.baseVersion}.${artifact.extension}</outputFileNameMapping>

我希望它有所帮助。