2

我正在使用 Maven 3.0.5 和 Nexus。

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

Nexus 中的工件显示如下:

ArtifactID-1.1.0- 20130806.104205-5 .pom

这可以。SNAPSHOT 扩展为时间戳。

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

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

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

4

2 回答 2

1

尝试使用 Nexus REST解析 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>

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

于 2013-08-08T21:11:32.260 回答
0

也许您可以使用dependencySet:

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

我希望它有所帮助。

于 2013-08-06T11:34:47.067 回答