为要由子Maven pom文件继承的version元素定义一个属性



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

这个问题在Maven的任何版本中都得到了解决吗?

作为构建过程的一部分,我们可以在本地回购中更新pom吗?

我强烈建议升级到Maven的最新版本,因为Maven 2.2.1已经是EoL一年了(已于2014年2月完成)。

要解决您想要实现的目标,您可以使用Maven 3.2.5(或Maven 3.3.1)

发行说明摘录:

一个简单的更改可以防止Maven发出有关版本的警告具有属性表达式。版本中允许的属性表达式包括${revision}、${changelist}和${sha1}。这些属性可以在外部设置,但最终将在Maven中创建一个机制其中可以以标准方式注入这些特性。例如您可能需要收集当前Git修订版并注入该值转换为${sha1}。这绝不是连续交付,但这是朝着正确方向迈出的一步。

最新更新