0

我创建了一个名为“dist”的附加目标目录,我正在向其中复制一些构建工件。因为它不在默认的目标目录中,所以我根据插件的删除附加文件说明添加了一个适当的清理插件配置,如下所示:

        <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 clean”之后仍然存在。我尝试了许多变体,并检查了“mvn help:effective-pom”或“mvn -X”调试输出的输出,我发现:

  1. 配置显示在子模块的有效 pom 中。
  2. 没有错误信息
  3. 调试输出中没有“dist”目录或其内容的迹象。
  4. 像这样的明确引用<directory>${basedir}/dist</directory>没有区别。
  5. 同样,使用或多或少的显式<include>引用,如“ .jar”或“ */*.txt”也没有区别。

我正在使用 maven 3.0.3,干净的插件 2.5。我试过2.4,以防万一。没有不同。此外,没有权限问题。

我在谷歌浏览了几十个例子,都只是重复文档的说明。我对 Maven 比较陌生,仍在学习。我对明显的事情视而不见吗?谢谢。

4

4 回答 4

2

您需要在<fileset>标签中包含<filesets>标签

<plugin>
    <artifactId>maven-clean-plugin</artifactId>
    <configuration>
        <filesets>
            <fileset>
                <directory>dist</directory>
            </fileset>
        </filesets>
    </configuration>
</plugin>
于 2013-03-12T15:01:19.777 回答
1

几乎,

这是一个有效的:

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

于 2014-04-17T11:37:16.420 回答
0

尝试使用而不是:

                  <includes>
                        <include>*</include>
                  </includes>

就像是

                   <includes>
                        <include>**/*.*</include>
                   </includes>

它使用 Maven 2.2.1 对我有用

于 2013-03-12T01:44:44.893 回答
0

这将起作用:

    <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>
于 2013-03-12T14:51:51.747 回答