如何从Maven的目标目录中删除生成的构建工件? Maven为目标目录生成jar或war文件。我想在maven将jar / war文件安装到本地存储库之后删除该文件(也就是说,在maven执行'install'目标之后)。删除可能发生在安装目标或我手动执行的单独目标。
请注意,我希望保留目标目录的其他部分,例如target / site和target / surefire-reports。
答案 0 :(得分:18)
只需使用clean插件并在安装阶段后执行:
<plugin>
<artifactId>maven-clean-plugin</artifactId>
<version>2.2</version>
<executions>
<execution>
<id>auto-clean</id>
<phase>install</phase>
<goals>
<goal>clean</goal>
</goals>
<configuration>
<filesets>
<fileset>
<directory>${project.build.outputDirectory}</directory>
<includes>
<include>**/*.jar</include>
</includes>
</fileset>
</filesets>
</configuration>
</execution>
</executions>
</plugin>
答案 1 :(得分:0)
Maven没有内置任何东西可以做到这一点。您可以使用antrun插件在删除工件后执行Ant脚本,或使用exec插件使用命令行删除工件,或编写自己的插件。< / p>
我建议做这些事情的价值很小,如果有的话。 Maven旨在在target
中放置中间和最终工件,以使后续构建更有效。没有任何可用的原因已经表明这没什么价值。如果它对你有价值,你有几个选择。
答案 2 :(得分:0)
我知道我有点晚了。但我想问题是,maven项目会自动归档工件。就我而言,我禁用了自动存档,并使用后期构建操作手动存档了工件。这样,只存档我感兴趣的工件。我愿意将生成的工件留在磁盘上,直到下一次构建运行。