Профили сборки Maven в расширении свойств проекта с несколькими модулями

У меня есть многомодульный проект Maven. Мой родительский POM имеет следующие модули:

<module>common</module>
<module>ingest</module>
<module>package</module>

Модули package обрабатывают все аспекты создания развертываемого zip-файла с использованием maven-antrun-plugin. В двух других модулях находится основной код приложения. В package у меня есть различные профили, содержащие параметры конфигурации для рабочей среды, среды подготовки и разработки. Каждый профиль выглядит так:

<profile>
    <id>prod</id>
     <properties>
          <oozie.url>http://oozie-server:11000/oozie</oozie.url>
          <stage.user>prod-stage</stage.user>
    </properties>
</profile>

Это отлично работает на родительском уровне, запустив:

mvn clean install -P prod

Все файлы .properties имеют различные свойства, расширенные до тех, что указаны в профиле Maven.

В модуле ingest один класс может полагаться на файл .properties с модулем ingest. Содержимое этого файла свойств будет выглядеть примерно так:

stageUser=${stage.user}

При выполнении тестов для модуля ingest свойства не расширяются, чтобы быть свойствами из профиля сборки, например. свойство по-прежнему будет stageUser=${stage.user}, а не stageUser=prod-stage. Это приводит к провалу теста.

Единственный обходной путь, который у меня есть, — это добавить необходимые профили и свойства, чтобы пройти тест в ingest POM. Это означает, что у меня есть эти свойства в двух местах: в модулях package и ingest. Есть ли лучшее решение для этого?


person Daniel Nee    schedule 21.06.2015    source источник


Ответы (1)


Наследование свойств от родителя должно работать. Убедитесь, что у вас есть объявление parent в дочерних модулях:

<parent>
    <artifactId>parent</artifactId>
    <groupId>parentGroupId</groupId>
    <version>version</version>
</parent>
person M A    schedule 21.06.2015
comment
Отлично, спасибо, манути! Я просто переместил раздел профилей в родительский POM и исправил проблему. - person Daniel Nee; 22.06.2015