Maven - 从子pom访问父pom上的属性

时间:2012-03-14 18:48:45

标签: maven build release release-management

在多模块项目结构中

myApp
|-moduleA
|---pom.xml
|-moduleB
|---pom.xml
|-pom.xml

如果我在parent.pom中有以下属性

  <properties>
   <moduleA.version>4.67</moduleA.version>
   <moduleB.version>4.68</moduleB.version>
  </properties>  

如何从任何子poms访问父pom中的属性?我在孩子pom上尝试了这个,但它没有用。

  <groupId>com.test</groupId>
  <artifactId>moduleA</artifactId>
  <version>${moduleA.version}</version>

2 个答案:

答案 0 :(得分:3)

如果您有一个真正的多模块构建,则不应该将模块定义为具有不同的版本。它们应该具有相同的版本,以便释放可能和其他东西。否则,您不应使用多模块设置,而应使用分开的简单单个模块。

答案 1 :(得分:1)

这应该有效。我可以想到的一个可能的原因是,或许你实际上并没有继承定义了这些属性的pom(即它没有直接或间接地定义为你的<parent>),但你只是有一个主要的pom 聚合您的项目。不过,这是猜测。