Maven,如何继承属性到模块

时间:2017-09-02 14:45:04

标签: java maven

在maven中,是否可以从POM继承配置到它的模块,而不将其声明为子模块POM中的父模块?

更具体地说,我想从包含模块的POM继承版本号。如果我通过声明父节点来获取它,我必须将父版本号硬编码到每个模块。如果我更新父POM,我也必须更新所有模块POM。由于维护原因,这是我想避免的重复信息。我希望所有模块的版本号与父版本相同,并在父版本中定义版本

1 个答案:

答案 0 :(得分:0)

  

我希望所有模块的版本号都与父版本相同,并且仅在父版本中定义版本。

您应该在父pom.xml中定义版本

<groupId>stackoverflow</groupId>
<artifactId>stackoverflow</artifactId>
<packaging>pom</packaging>
<version>2.0.2</version>
....
<modules>
    <module>sample</module>
    <module>inherit</module>
</modules>

并在您的子模块中进一步使用

<parent>
    <artifactId>stackoverflow</artifactId>
    <groupId>stackoverflow</groupId>
    <version>2.0.2</version>
</parent>
<artifactId>sample</artifactId>

<parent>
    <artifactId>stackoverflow</artifactId>
    <groupId>stackoverflow</groupId>
    <version>2.0.2</version>
</parent>
<artifactId>inherit</artifactId>

这意味着子模块sampleinherit与其父stackoverflow的版本相同。