首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Maven复制资源执行两次,一次用于配置文件,一次默认

Maven复制资源执行两次,一次用于配置文件,一次默认
EN

Stack Overflow用户
提问于 2018-10-08 00:22:17
回答 1查看 477关注 0票数 2

我有一个maven项目,在其中我定义了一个包括自定义maven-resource-plugin配置的基于profile的构建。

代码语言:javascript
复制
...
<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时,我可以看到资源插件被执行了两次。

资源信息]-maven-

-plugin:3.1.0:复制资源(资源)@mma-访问管理-身份验证服务器

信息使用'UTF-8‘编码来复制过滤的资源。

信息正在复制%2资源

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

信息使用'UTF-8‘编码来复制过滤的资源。

信息复制5个资源

是这样的吗?我真的必须排除默认构建的所有资源,以避免通过default-resources再次复制它们吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-10-08 00:58:22

不要再次将插件绑定到生成资源阶段。当您仅使用配置标签时,您可以更改默认执行的配置。

代码语言:javascript
复制
...
<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>
...
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52690507

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档