我正在使用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的时间戳?
答案 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>
我希望它有所帮助。