在我的项目中,我有一个名为war
的文件夹。它最初是空的,并且受版本控制。该文件夹在其package
阶段由Maven填充,Eclipse的WST插件从该文件夹部署Web应用程序。
我想要的是在war
阶段删除clean
文件夹的内容,而不删除文件夹本身。我怎么做?到目前为止,我知道如何删除整个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>
如何仅删除war
文件夹的内容而不删除文件夹本身?我知道通过添加一些现有的排除项,该文件夹不会被删除。但是如何一般只删除文件夹的内容?
答案 0 :(得分:65)
将此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>
答案 1 :(得分:6)
在我的情况下,我需要删除“bin”目录及其所有子目录内容。我在父pom.xml中这样做了:
<fileset>
<directory>${basedir}</directory>
<includes>
<include>**/bin/**</include>
</includes>
<followSymlinks>false</followSymlinks>
</fileset>
这在我的项目中找到了任何bin目录,并删除了bin文件夹的任何内容。
答案 2 :(得分:2)
你将不得不使用maven ant插件&amp;添加任务仅删除文件夹内容。但是为什么在版本控制中需要war文件?每次构建代码库时都会显示要检入的某些修改/新文件(生成的类)。如果使用标准maven约定,则目标文件夹将用于所有输出。
答案 3 :(得分:2)
如果要以递归方式删除多个目录:
<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>
答案 4 :(得分:0)
要从src / main / webapp / folder删除文件夹,请使用:
<configuration>
<filesets>
<fileset>
<directory>src/main/webapp</directory>
<includes>
<include>folder/</include>
</includes>
<followSymlinks>false</followSymlinks>
</fileset>
</filesets>
</configuration>