我已经创建了一个名为"dist"的额外目标目录,我正在向其中复制一些构建工件。因为它不在默认的目标目录中,所以我根据删除附加文件说明为插件添加了一个适当的clean插件配置,如下所示:
<plugin>
<artifactId>maven-clean-plugin</artifactId>
<version>2.5</version>
<configuration>
<fileset>
<followSymlinks>false</followSymlinks>
<directory>dist</directory>
<includes>
<include>*</include>
</includes>
</fileset>
</configuration>
</plugin>
但是"dist"目录及其内容在任何"mvn清理"之后仍然保留。我尝试了许多变体,并检查了"mvn help:effective-pom"或"mvn -X"调试输出的输出,我发现:
- 配置显示在子模块的有效pom中
- 没有错误信息
- 调试输出中没有符号表示"dist"目录及其内容。
-
<directory>${basedir}/dist</directory>
这样的显式引用没有区别。 同样,使用或多或少显式的
<include>
引用,如".jar"或"*/*.txt"没有区别。我使用maven 3.0.3,清洁插件2.5。我试了2.4,以防万一。没有区别。还有,没有权限问题。
我在Google上浏览了几十个例子,都只是重复文档的说明。我对Maven比较陌生,还在学习中。我是否忽视了一些显而易见的东西?谢谢。
您需要在<filesets>
标签中包含<fileset>
标签
<plugin>
<artifactId>maven-clean-plugin</artifactId>
<configuration>
<filesets>
<fileset>
<directory>dist</directory>
</fileset>
</filesets>
</configuration>
</plugin>
几乎,
这是一个工作的:
<plugin>
<artifactId>maven-clean-plugin</artifactId>
<version>2.5</version>
<configuration>
<filesets>
<fileset>
<followSymlinks>false</followSymlinks>
<directory>${basedir}</directory>
<includes>
<include>dist/**</include>
<include>target</include>
</includes>
</fileset>
</filesets>
</configuration>
尝试使用
<includes>
<include>*</include>
</includes>
比如
<includes>
<include>**/*.*</include>
</includes>
使用Maven 2.2.1
可以:
<plugin>
<artifactId>maven-clean-plugin</artifactId>
<version>2.5</version>
<configuration>
<fileset>
<followSymlinks>false</followSymlinks>
<directory>${basedir}</directory> <!-- Careful with this -->
<includes>
<include>dist</include>
<include>target</include>
</includes>
</fileset>
</configuration>
</plugin>