我正在尝试使用“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>