【问题标题】:Maven <include> wildcard match on partial folder nameMaven <include> 通配符匹配部分文件夹名称
【发布时间】:2012-11-08 11:50:20
【问题描述】:

使用 maven-clean-plugin,我想删除所有以“tmp”开头的文件夹。这是否可以使用 Maven 通配符?我试过了:

<fileset>
    <directory>${project.basedir}</directory>
    <includes>
        <include>**/tmp*</include>
    </includes>
</fileset>

这不起作用。

【问题讨论】:

    标签: maven maven-3 wildcard


    【解决方案1】:

    此配置适用于我:

    <plugin>
        <artifactId>maven-clean-plugin</artifactId>
        <version>2.5</version>
        <configuration>
            <filesets>
                <fileset>
                    <directory>${project.basedir}</directory>
                    <includes>
                        <include>**/tmp*/</include>
                    </includes>
                </fileset>
            </filesets>
        </configuration>
    </plugin>
    

    如果我在项目根目录中添加这些文件夹:

    some/tmp/
    some/tmpFolder/
    some/realFolder/
    

    那么mvn clean会删除前两个文件夹,留下最后一个。

    【讨论】:

    • 非常有趣,创建的文件夹格式为 tmp[number] 例如:“tmp245343”。使用该配置删除“tmpFolder”和“tmpfolder”,但不删除 tmp[number]。
    • tmp123 为我工作。你在什么操作系统上运行?我在 Windows 7 上。
    • 在配置中添加&lt;verbose&gt;true&lt;/verbose&gt;