followSymlinks不适用于maven-clean-plugin

我正在尝试使用“maven-clean-plugin”删除位于/ my / path文件夹中的其他文件.

<plugin>
   <artifactId>maven-clean-plugin</artifactId>
   <executions>
       <execution>
           <id>clean-on-cleaning</id>
           <phase>clean</phase>
           <goals>
               <goal>clean</goal>
           </goals>
           <configuration>                      
               <filesets>
                   <fileset>
                       <directory>target/dart</directory>
                   </fileset>
                   <fileset>
                       <directory>src/main/dart/.pub</directory>
                   </fileset>
                   <fileset>
                       <directory>src/main/dart/build</directory>
                   </fileset>
                   <fileset>
                       <directory>${env.APPDATA}/Pub/Cache</directory>
                   </fileset>
                   <fileset>
                       <directory>src/main/dart/packages</directory>    
                       <followSymlinks>false</followSymlinks>
                   </fileset>
               </filesets>
           </configuration>
       </execution>
   </executions>

“src / main / dart / packages”包含链接.其中一个链接指向“src / main / dart / lib”文件夹.我已经设定:

<followSymlinks>false</followSymlinks> 

所以它不应该删除lib目录中的文件.但遗憾的是确实如此.问题出在哪里?

环境配置:

> Maven:apache-maven-3.3.3
> Java版本:1.7.0_55(也在1.8.0_51上试过)
>操作系统名称:Windows 7
>版本:6.1
> arch:amd64

最佳答案 根据您的配置判断,您使用的是maven-clean-plugin的版本,它来自clean生命周期的默认绑定.
This is version 2.5 for Maven 3.3.3.

对于这个版本,有一个错误,maven-clean-plugin不遵守Windows上的followSymLinks属性:它是MCLEAN-58

Maven Clean Plugin ignores followSymLinks parameter on Windows

对于Java> = 7的用户,根据此错误报告已在2.6.1版中修复此问题.

因此,您只需要将正在使用的maven-clean-plugin的版本更新为2.6.1.当前版本是3.0.0,因此您可以更新到该版本:

<plugin>
   <artifactId>maven-clean-plugin</artifactId>
   <version>3.0.0</version>
   <!-- rest of configuration -->
</plugin>
点赞