pom.xml <parent>和<properies>

时间:2016-12-12 09:56:26

标签: maven

当我使<parent>配置使用属性时,它停止工作

<properties>
    <springboot.version>1.4.1.RELEASE</springboot.version>
</properties> 

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>${springboot.version}</version>
    <relativePath/> 
</parent>

当我设置<version>1.4.1.RELEASE</version>时,它工作正常。这有什么问题?

1 个答案:

答案 0 :(得分:1)

您不能在子模块的<parent>标记内使用父级版本的属性。

Maven具有以下功能:属性从父级继承到其子级。为了实现这一点,maven必须首先解析父节点,然后解析属性(继承或不继承)。这意味着,maven将无法解析<parent>标记内的属性。

在子坐标系中,如果在您的用例中有意义,则可以省略版本和groupId。这些信息是从父母pom继承的,但可以在孩子中被覆盖。

<project>
    <parent>
         <groupId>your.company</groupId>
         <artifactId>companyParent</artifactId>
         <version>1.0.4</version>
    </parent>

    <!-- child coordinates -->
    <!-- version and groupId are inherited -->
    <artifactId>childA</artifactId>
    ....
</project>