Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java maven war插件中的筛选不排除目录_Java_Maven_Maven War Plugin - Fatal编程技术网

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

Java maven war插件中的筛选不排除目录,java,maven,maven-war-plugin,Java,Maven,Maven War Plugin,这是我昨天问题的后续部分。我能够重新安排开发战争和生产战争,但是过滤会将目录属性复制到战争中,尽管根据需要它会被排除在外。我可以使用packagingExcludes选项,但我想知道为什么excludes不起作用。谢谢你的解释 <plugin> <artifactId>maven-war-plugin</artifactId> <configuration> <classifier>dev</cla

这是我昨天问题的后续部分。我能够重新安排开发战争和生产战争,但是过滤会将目录
属性
复制到战争中,尽管根据需要它会被排除在外。我可以使用
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>

maven战争插件
发展
${project.build.directory}/${project.build.finalName}-dev
${project.basedir}/configurations/properties/config_dev.prop
配置
真的
WEB-INF/课程
**/性质
包装产品
包裹
戳
${project.build.directory}/${project.build.finalName}-prod
WEB-INF/classes/*.jks,WEB-INF/classes/acquisitor.properties
${project.basedir}/configurations/properties/config_prod.prop
配置
真的
WEB-INF/课程
**/性质
战争

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

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

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


更改为
***/properties/*
***/properties/***
,它将起作用

它起作用了。Maven的文档中有一个bug。我从他们的样本中复制了这个元素。事实上,文档有一个bug。这道题我已经试了整整6个小时了。我希望我能早点用谷歌搜索到正确的东西。我想即使是“包括”也是如此吧@黑建筑