0

我想知道是否可以将 maven-metadata.xml 文件作为 maven 依赖。我想要实现的是从nexus' maven-metadata.xml 获取内部版本号。

<metadata modelVersion="1.1.0">
  <groupId>group</groupId>
  <artifactId>artefact</artifactId>
  <version>version</version>
  <versioning>
  <snapshot>
      <timestamp>20130619.091047</timestamp>
      <buildNumber>2</buildNumber> <!--WHAT I'M TRYING TO GET-->
    </snapshot>
    <lastUpdated>20130619091047</lastUpdated>
    <snapshotVersions>
    <snapshotVersion>
      <extension>rpm</extension>
      <value>value</value>
      <updated>20130619091047</updated>
    </snapshotVersion>
    <snapshotVersion>
      <extension>pom</extension>
      <value>value</value>
      <updated>20130619091047</updated>
  </snapshotVersion>
  </snapshotVersions>
  </versioning>
</metadata>

ps 是的,我知道它可以通过 Nexus REST API 检索,但我对上面提供的特定场景感兴趣。

4

1 回答 1

1

您在 maven-metadata xml 中看到的元数据迭代器不是来自 CI 服务器的内部版本号,因此不允许您在代码、ci 服务器构建和部署之间创建您正在寻找的关联。

为了做到这一点并解决您在评论中提到的问题,我会:

  • 使用 rpm maven 插件构建
  • 使用内部版本号 maven 插件或 CI 服务器中的某些参数在最终 rpm 中填充属性文件
  • 在应用程序中具有可以显示该属性文件的功能

这样,任何构建时间信息都可以在最终工件中捕获并在部署中可用。

此外,我会研究 yum nexus 插件以将 Maven 存储库公开给基于 yum 的部署机器。

如果您不使用 Maven 构建,也可以使用任何其他构建工具来完成类似的方法。

于 2013-06-20T15:27:13.710 回答