Maven копирует ресурсы условно - PullRequest
0 голосов
/ 24 мая 2019

В моем веб-приложении у меня есть файлы .properties и .xml, которые обрабатываются и копируются из моего каталога resources в classes.

    <resources>
        <resource>
            <directory>src/main/resources</directory>
            <filtering>true</filtering>
        </resource>
    </resources>

Я определил переменную вpom.xml:

<stage>Development</stage>

Теперь я хочу скопировать некоторые ресурсы в соответствии с этой переменной.В основном:

  • если $stage == Development -> копировать resources/logging-development.properties в classes/logging.properties
  • , если $stage == Production -> копироватьresources/logging-production.properties до classes/logging.properties вместо.

Как мне добиться этого в моем pom.xml?

(примечание - если возможно, я ищу решение, которое нетребуется изменить способ вызова maven в моей IDE, поэтому нужно вносить изменения только в pom.xml и т. п.)

ПРИМЕЧАНИЕ. Это единственные файлы, которые изменяются из одной среды в другую

1 Ответ

0 голосов
/ 24 мая 2019

Благодаря указателям в комментариях я смог это сделать.Это просто, но работает.Он просто копирует нужный файл в нужное имя файла и затем перемещается как обычно.Файлы, которые не нужны, исключаются из перемещения.Я оставляю здесь свое решение на случай, если оно может помочь другим:

<properties>
        <stage>Development</stage>
...
<plugin>
            <groupId>com.coderplus.maven.plugins</groupId>
            <artifactId>copy-rename-maven-plugin</artifactId>
            <version>1.0</version>
            <executions>
                <execution>
                    <id>copy-file</id>
                    <phase>generate-sources</phase>
                    <goals>
                        <goal>copy</goal>
                    </goals>
                    <configuration>
                        <sourceFile>src/main/resources/logging-${stage}.properties</sourceFile>
                        <destinationFile>src/main/resources/logging.properties</destinationFile>
                    </configuration>
                </execution>
            </executions>
</plugin>
....
<resources>
        <resource>
            <directory>src/main/resources</directory>
            <filtering>true</filtering>
            <excludes>
                <exclude>logging-Development.properties</exclude>
                <exclude>logging-Production.properties</exclude>
            </excludes>
        </resource>
....
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...