maven war插件中的筛选不排除目录



这是我昨天问题的后续,有条件地将maven中的一些资源排除在战争之外。我能够重新安排开发和生产战争,但过滤会将目录properties复制到战争中,尽管根据文档应将其排除在外。我可以使用packagingExcludes选项,但我想知道为什么excludes不起作用。谢谢你的解释。

<plugin>
    <artifactId>maven-war-plugin</artifactId>
    <configuration>
        <classifier>dev</classifier>
        <webappDirectory>${project.build.directory}/${project.build.finalName}-dev</webappDirectory>
        <filters>
            <filter>${project.basedir}/configurations/properties/config_dev.prop</filter>
        </filters>
        <webResources>
            <resource>
                <directory>configurations</directory>
                <filtering>true</filtering>
                <targetPath>WEB-INF/classes</targetPath>
                <excludes>
                    <exclude>**/properties</exclude>
                </excludes>
            </resource>
        </webResources>
    </configuration>
    <executions>
        <execution>
            <id>package-prod</id>
            <phase>package</phase>
            <configuration>
                <classifier>prod</classifier>
                <webappDirectory>${project.build.directory}/${project.build.finalName}-prod</webappDirectory>
                <packagingExcludes>WEB-INF/classes/*.jks,WEB-INF/classes/acquirer.properties</packagingExcludes>
                <filters>
                    <filter>${project.basedir}/configurations/properties/config_prod.prop</filter>
                </filters>
                <webResources>
                    <resource>
                        <directory>configurations</directory>
                        <filtering>true</filtering>
                        <targetPath>WEB-INF/classes</targetPath>
                        <excludes>
                            <exclude>**/properties</exclude>
                        </excludes>
                    </resource>
                </webResources>
            </configuration>
            <goals>
                <goal>war</goal>
            </goals>
        </execution>
    </executions>
</plugin>

资源的排除是基于文件的,即它们忽略文件夹。这是因为可能对webResources进行了筛选。

因此,excludes中的glob将应用于目录中的所有文件,与排除glob匹配的任何文件都将被排除。

但是,您只排除了一个目录。

更改为**/properties/***/properties/**即可工作。

相关内容

  • 没有找到相关文章

最新更新