为子Maven pom文件继承的版本元素定义属性

时间:2015-03-26 04:57:45

标签: maven version-control build build-automation

我正在处理多模块Maven项目,其中我定义了一个由所有子模块继承的属性productversion。我甚至在child pom中定义的父标签中使用它。运行时的构建成功,并且正在本地存储库中部署正确的版本jar。 我遇到的问题是我无法单独构建子模块。它说"不可解决的父母pom" 。这可能是因为使用了这个属性并且maven在存储库中安装pom文件然后运行;父子关系仅从本地存储库pom中读取。

是否在任何Maven版本中解决了此问题?

我们可以在构建过程中更新本地存储库中的pom吗?

1 个答案:

答案 0 :(得分:0)

我强烈建议升级到Maven的最新版本Maven 2.2.1 is EoL for a year now (has been done in february 2014)

要解决您想要达到的目标,您可以使用Maven 3.2.5(或Maven 3.3.1

发行说明摘录:

  

一个简单的更改,以防止Maven发出有关版本的警告   带有属性表达式。版本中允许的属性表达式   包括$ {revision},$ {changelist}和$ {sha1}。这些属性可以   在外部设置,但最终会在Maven中创建一个机制   这些属性可以以标准方式注入。例如   你可能想要收集当前的Git版本并注入该值   进入$ {sha1}。这绝不是连续的完整解决方案   交付,但是朝着正确的方向迈出了一步。