nexus将maven-metadata.xml作为依赖项

时间:2013-06-19 14:07:43

标签: maven nexus maven-metadata

我想知道是否有可能将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>

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

1 个答案:

答案 0 :(得分:1)

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

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

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

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

此外,我会查看yum nexus插件,将Maven repo暴露给基于yum的部署机器。

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