我想在执行mvn clean构建生命周期后从项目中删除目标目录。 我观察到,在执行mvn之后,目标文件夹下的生成资源被删除但不是目标目录。 任何建议都对我有所帮助。 下面是我在项目中使用的pom.xml的代码片段
<plugins>
<plugin>
<artifactId>maven-clean-plugin</artifactId>
<version>3.0.0</version>
<goals>
<goal>clean</goal>
</goals>
<configuration>
<filesets><fileset>
<directory>${basedir}/target</directory>
</fileset></filesets>
</configuration>
</plugin>
答案 0 :(得分:0)
mvn clean
的默认行为是删除target
目录。我不确定为什么除了你可能让父POM覆盖默认行为之外你不会这样做:
执行mvn clean
时来自Maven的输出:
[INFO] --- maven-clean-plugin:2.6.1:clean (default-clean) @ xxx ---
[INFO] Deleting C:\dev\TradingStationT2\t2-platform\misc\target
我甚至手动验证了它,target
目录确实被删除了。
尝试执行mvn help:effective-pom
以查看是否已覆盖默认行为。你应该看到这样的东西:
<plugin>
<artifactId>maven-clean-plugin</artifactId>
<version>2.6.1</version>
<executions>
<execution>
<id>default-clean</id>
<phase>clean</phase>
<goals>
<goal>clean</goal>
</goals>
</execution>
</executions>
</plugin>
答案 1 :(得分:0)
要删除目标目录,请直接从命令行在您的项目中运行 mvn clean 。这将按预期删除目标目录。
相反,出于某种原因,从Eclipse 运行 Run As> Maven clean 会离开目标目录和子目录 classes 和 test类。即使您在Eclipse中看到的控制台消息与常规的 mvn clean 相同,但似乎这种方法在幕后做了一些事情来为maven项目重新创建这些目录。
至于为什么,我还不确定。但这似乎与.classpath文件有关。如果查看该文件,将看到这些目录路径。它可能还与创建Maven项目时添加到Eclipse中的“ Maven Nature”有关(请参阅“属性”>“ Project Natures”>“ Maven Nature”)。具体来说,Eclipse M2Eclipse plugin似乎是推动“ Maven Nature”发展的动力,包括那些源文件夹的产生。
答案 2 :(得分:0)
有时候,IDE可能只是在内存中弄乱了,所以重新启动一次,它应该可以解决此问题,就像我的情况一样。