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

Maven 2 Maven-如何在清理阶段删除文件夹的内容?,maven-2,maven,Maven 2,Maven,在我的项目中,我有一个名为war的文件夹。它最初是空的,并且处于版本控制之下。该文件夹在其包阶段由Maven填充,Eclipse的WST插件从该文件夹部署web应用程序 我想要的是在clean阶段删除war文件夹的内容,而不是文件夹本身。我该怎么做?到目前为止,我知道如何删除整个war文件夹: <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven

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

我想要的是在
clean
阶段删除
war
文件夹的内容,而不是文件夹本身。我该怎么做?到目前为止,我知道如何删除整个
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>

org.apache.maven.plugins
maven清洁插件
2.4.1
假的
${basedir}/war

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

您必须使用maven ant插件&添加任务以只删除文件夹内容。但是,为什么在版本控制中需要war文件?每次构建代码库时,都会显示有一些修改/新文件(生成的类)要签入。如果您使用的是标准maven约定,则目标文件夹将用于所有输出

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

<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>

org.apache.maven.plugins
maven清洁插件
2.4.1
战争
**/*
假的

在我的例子中,我需要删除“bin”目录及其所有子目录内容。我在我的父母pom.xml中这样做:

<fileset>
    <directory>${basedir}</directory>
      <includes>
        <include>**/bin/**</include>
      </includes> 
      <followSymlinks>false</followSymlinks>
</fileset>

${basedir}
**/垃圾箱/**
假的

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

如果要递归删除多个目录:

    <plugin>
            <artifactId>maven-clean-plugin</artifactId>
            <version>3.0.0</version>
            <executions>
                <execution>
                    <id>auto-clean</id>
                    <phase>clean</phase>
                    <goals>
                        <goal>clean</goal>
                    </goals>
                    <configuration>
                        <filesets>
                            <fileset>
                                <directory>${basedir}</directory>
                                <includes>**/dir1/**</includes>
                            </fileset>
                            <fileset>
                                <directory>${basedir}</directory>
                                <includes>**/dir2/**</includes>
                            </fileset>
                            <fileset>
                                <directory>${basedir}</directory>
                                <includes>**/dir3/**</includes>
                            </fileset>
                        </filesets>
                    </configuration>
                </execution>
            </executions>
        </plugin>

maven清洁插件
3.0.0
自动清洗
清洁的
清洁的
${basedir}
**/dir1/**
${basedir}
**/dir2/**
${basedir}
**/dir3/**

要从src/main/webapp/文件夹中删除文件夹,请使用:

<configuration>
  <filesets>
    <fileset>
      <directory>src/main/webapp</directory>
      <includes>
        <include>folder/</include>
      </includes>
      <followSymlinks>false</followSymlinks>
    </fileset>
  </filesets>
</configuration>

src/main/webapp
文件夹/
假的

我已将Eclipse配置为使用
war
文件夹(在部署程序集中),我希望签出项目的每个开发人员都拥有该文件夹,因此Eclipse配置是有效的。内容当然会添加到svn:ignore,并由Maven填充。对我来说,它只在添加部分后起作用,如下所述:put only**For还可以删除文件夹(问题要求删除内容,但访问此页面的用户可能希望删除文件夹和内容)这是怎么回事?已经有一段时间了,但是看看我上面的帖子,它进入了maven-clean-plugin的配置中。你缺少了里面的元素。