Ресурсы копирования Maven выполняются дважды для профиля по умолчанию - PullRequest
0 голосов
/ 07 октября 2018

У меня есть проект maven, в котором я определил сборку на основе profile, включая пользовательскую конфигурацию maven-resource-plugin.

...
<profiles>
    <profile>
        <id>docker</id>
        <build>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-resources-plugin</artifactId>
                    <version>3.1.0</version>
                    <executions>
                        <execution>
                            <id>resources</id>
                            <phase>generate-resources</phase>
                            <goals>
                                <goal>copy-resources</goal>
                            </goals>
                            <configuration>
                                <outputDirectory>${basedir}/target/classes</outputDirectory>
                                <resources>
                                    <resource>
                                        <directory>${basedir}/src/main/resources</directory>
                                        <filtering>false</filtering>
                                        <excludes>
                                            <exclude>log4j2*.xml</exclude>
                                            <exclude>docker/*</exclude>
                                        </excludes>
                                    </resource>
                                </resources>
                            </configuration>
                        </execution>
                    </executions>
                </plugin>
            </plugins>
        </build>
    </profile>
</profiles>
...

Теперь, когда я выполняю, например, mvn compile -P docker, я вижу, что плагин ресурсов выполняется дважды.

INFO] --- maven-resources-plugin:3.1.0: copy-resources (resources) @ mma-access-management-auth-server ---

[INFO] Использование кодировки UTF-8 для копирования отфильтрованных ресурсов.

[INFO] Копирование 2 ресурсов

[INFO] --- плагин maven-resources: 3.1.0: ресурсы (default-resources) @ mma-access-management-auth-server---

[INFO] Использование кодировки UTF-8 для копирования отфильтрованных ресурсов.

[INFO] Копирование 5 ресурсов

Это правильно?Действительно ли мне нужно исключить все ресурсы для сборки по умолчанию, чтобы избежать их повторного копирования через ресурсы по умолчанию?

1 Ответ

0 голосов
/ 07 октября 2018

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

...
<profiles>
    <profile>
        <id>docker</id>
        <build>
            <plugins>
                <plugin>
                    <artifactId>maven-resources-plugin</artifactId>
                    <version>3.1.0</version>
                    <configuration>
                        <resources>
                            <resource>
                                <directory>${basedir}/src/main/resources</directory>
                                <filtering>false</filtering>
                                <excludes>
                                    <exclude>log4j2*.xml</exclude>
                                    <exclude>docker/*</exclude>
                                </excludes>
                            </resource>
                        </resources>
                    </configuration>
                </plugin>
            </plugins>
        </build>
    </profile>
</profiles>
...
...