Заказ ресурсных каталогов в Maven - PullRequest
0 голосов
/ 31 августа 2018

Мне бы хотелось, чтобы мой проект Java с использованием Maven был настроен таким образом, чтобы при локальной разработке и при выполнении модульных тестов ресурсы брались из стандартных каталогов src/main/resources и src/test/resources, а при применении профиля ресурсы перезаписываются специфичными для развертывания. В идеале ресурсы, специфичные для профиля, должны быть подмножеством полных ресурсов, поэтому процесс должен работать, сначала записывая обычные ресурсы, а затем применяя специфические для профиля, поверх первого.

Моя компоновка каталогов стандартная, с профилями ресурсов под src/main/env/{profile}.

Мне удалось сделать это, используя несколько строф в разделе build / resources:

  <profiles>
    <profile>
      <id>dev</id>
      <activation><activeByDefault>true</activeByDefault></activation>
      <properties>
        <targetEnv>dev</targetEnv>
      </properties>
    </profile>
    <profile>
      <id>test</id>
      <properties>
        <targetEnv>test</targetEnv>
      </properties>
    </profile>
    <profile>
      <id>prod</id>
      <properties>
        <targetEnv>prod</targetEnv>
      </properties>
    </profile>
  </profiles>

 <build>
   <resources>
     <resource>
       <directory>src/main/env/${targetEnv}</directory>
     </resource>
     <resource>
       <directory>src/main/resources</directory>
     </resource>
   </resources>
  <build>

Это работает, однако моя первая попытка была с двумя каталогами ресурсов, упорядоченными в противоположном направлении (сначала обычный каталог, специфичный для профиля), чтобы соответствовать процессу перезаписи. Вместо этого он перезаписывал специфичные для профиля файлы обычными.

Гарантирует ли Maven заказ на строфы под build / resources на всех?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...