Лучшее, что я смог придумать для таких сценариев, - это использование триггера активации на основе файлов.например, у моего родительского pom есть
<profile>
<id>maven-war-project</id>
<activation>
<file><!-- add a file named .maven-war-project-marker to webapp projects to activate this profile -->
<exists>${basedir}/.maven-war-project-marker</exists>
</file>
</activation>
<build>
<plugins>
<!-- configuration for webapp plugins here -->
</plugins>
</build>
, и проекты веб-приложений, которые наследуются от этого родителя, содержат файл с именем '.maven-war-project-marker', который активирует профиль
Это выглядит довольно тупоно работает довольно надежно, в то время как - использование свойства-активации ненадежно, если другой человек или система делает сборку, - наследование от родителей, зависящих от типа, стало для меня немного обременительным, поскольку бабушка с дедушкой изменяет версию относительно часто, так как она используется для определения«стандартные» или предпочтительные версии общих зависимостей, которые, в свою очередь, требовали соответствующих выпусков всех родителей, зависящих от типа, без изменений, кроме версии «прародителя»