Maven - 如何在清洁阶段删除文件夹的内容?

jan*_*ink 39 maven-2 maven

在我的项目中,我有一个名为的文件夹war.它最初是空的,并且受版本控制.该文件夹在其package阶段由Maven填充,Eclipse的WST插件从该文件夹部署Web应用程序.

我想要的是warclean阶段中删除文件夹的内容,但不删除文件夹本身.我怎么做?到目前为止,我知道如何删除整个war文件夹:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-clean-plugin</artifactId>
    <version>2.4.1</version>
    <configuration>
        <followSymLinks>false</followSymLinks>
        <filesets>
            <fileset>
                <directory>${basedir}/war</directory>
            </fileset>
        </filesets>
    </configuration>
</plugin>
Run Code Online (Sandbox Code Playgroud)

如何仅删除war文件夹的内容而不删除文件夹本身?我知道通过添加一些现有的排除项,该文件夹不会被删除.但是如何一般只删除文件夹的内容?

FrV*_*aBe 66

将此includes部分添加到文件集定义中

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-clean-plugin</artifactId>
            <version>2.4.1</version>
            <configuration>
                <filesets>
                    <fileset>
                        <directory>war</directory>
                        <includes>
                            <include>**/*</include>
                        </includes>
                        <followSymlinks>false</followSymlinks>
                    </fileset>
                </filesets>
            </configuration>
        </plugin>
    </plugins>
</build>
Run Code Online (Sandbox Code Playgroud)

  • 仅放置 &lt;include&gt;**&lt;/include&gt; 也可以删除文件夹(问题要求删除内容,但访问此页面的人可能想要删除文件夹和内容)。 (2认同)

Jas*_*n K 6

在我的情况下,我需要删除"bin"目录及其所有子目录内容.我在我的父pom.xml中这样做了:

<fileset>
    <directory>${basedir}</directory>
      <includes>
        <include>**/bin/**</include>
      </includes> 
      <followSymlinks>false</followSymlinks>
</fileset>
Run Code Online (Sandbox Code Playgroud)

这在我的项目中找到了任何bin目录,并删除了bin文件夹的任何内容.

  • 它已经有一段时间了但是看着我上面的帖子,它进入了maven-clean-plugin的配置. (2认同)