为不同的项目创建聚合POM

问题描述 投票:1回答:1

我想为不同的模块创建一个聚合pom,这样它就可以作为一个大的maven项目来处理。

ModuleA:web app,有一个pom.xml,父级设置为Spring boot

模块:简单的Java应用程序(与ModuleS不同的依赖项)

Project/
  ModuleA/
    pom.xml  <-- parent is set to spring
  ModuleB/
    pom.xml  <-- no parent
  pom.xml    <-- aggregate pom to create

这是我作为聚合pom尝试的内容:

<project>
    <modelVersion>4.0.0</modelVersion>

    <groupId>group</groupId>
    <artifactId>Project</artifactId>
    <version>1</version>
    <packaging>pom</packaging>

    <name>Project</name>

    <modules>
        <module>ModuleA</module>
        <module>ModuleB</module>
    </modules>
</project>

问题是当我尝试在项目级别运行maven命令时,我收到警告:

[WARNING] Some problems were encountered while building the effective model for group:ModuleA:war:0.0.1
[WARNING] 'parent.relativePath' of POM group:ModuleA:0.0.1 (C:\Project\ModuleA\pom.xml) points at group:Project instead of org.springframework.boot:spring-boot-starter-parent, please verify your project structure @ group:ModuleA:0.0.1, C:\Project\ModuleA\pom.xml

当我不想从聚合pom继承任何东西时,这真的是一个问题吗?

java maven pom.xml parent-pom
1个回答
1
投票

正如herehere所解释的那样,在每个项目/模块pom.xml父元素中取消设置relativePath,因为你的主项目就是聚合项目(并且不是模块引用的父项)

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>1.5.6.RELEASE</version>
    <relativePath/>                                      <=========
</parent>
© www.soinside.com 2019 - 2024. All rights reserved.