Создать совокупный POM для разных проектов - PullRequest
1 голос
/ 31 марта 2019

Я хотел бы создать агрегатный pom для разных модулей, чтобы его можно было обрабатывать как один большой проект maven.

ModuleA: веб-приложение, имеет файл pom.xml с родительским установленным на загрузку Spring

ModuleB: простое Java-приложение (не те же зависимости, что и у ModuleA)

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

Вот что я попробовал как совокупный пом:

<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?

1 Ответ

1 голос
/ 31 марта 2019

Как объяснено здесь и здесь , отмените относительный путь в родительском элементе каждого проекта / модуля pom.xml, так как ваш основной проект только для объединения проектов (и не родитель, на который ссылаются модули)

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>1.5.6.RELEASE</version>
    <relativePath/>                                      <=========
</parent>
...