Здравствуйте!
Подскажите красивое решение для такой задачки
Есть общий
pom.xml для многомодульного проекта следующего вида:<project>
<modelVersion>4.0.0</modelVersion>
<groupId>ru.zeratustra</groupId>
<artifactId>parent</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>pom</packaging>
<modules>
<module>srv</module>
<module>sdk</module>
</modules>
</project>
Для всех модулей с апи/сдк
sdk pom.xml выглядит примерно так:<project>
<modelVersion>4.0.0</modelVersion>
<groupId>ru.zeratustra</groupId>
<artifactId>sdk</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>ru.zeratustra.sdk</name>
<description>Service SDK module</description>
<properties>....</properties>
<dependencies>....</dependencies>
<build>
<plugins>....</plugins>
</build>
</project>
Для всех модулей сервисов
srv pom.xml выглядит примерно так<project>
<modelVersion>4.0.0</modelVersion>
<groupId>ru.zeratustra</groupId>
<artifactId>srv</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>ru.zeratustra.srv</name>
<description>Service module</description>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.4.RELEASE</version>
<relativePath/>
</parent>
<properties>....</properties>
<dependencies>....</dependencies>
<build>
<plugins>....</plugins>
</build>
</project>
Причем, как минимум, 70% содержания блоков properties, dependencies, plugins для всех модулей общая. Естественно, именно ее я хочу вынести в общий pom.xml, однако, не могу это сделать с помощью инструкции parent, так как для сервисов уже есть зависимость от spring-boot-starter-parent.
Можно реализовать двумя родителями, одни для всех srv(наследующий в свою очередь spring-boot-starter-parent) и один для sdk, но очень хочется вести один общий pom, а не два. Так же не хочу делать общего родителя наследующего spring-boot-starter-parent, так как это избыточно для модулей sdk.
Как быть? Есть ли возможность наследоваться от нескольких родителей? Как это можно реализовать?
Спасибо!
upd: иерархия которую я пытаюсь сваять -
в репозитории