2017-09-13 24 views
1

这听起来有点不对,但这是我想要的;如何删除通常的maven clean阶段之外的项目文件夹

我有一个项目,在我的目标目录中生成文件(以便每个平均项目)。我已经将maven配置为使用下面的每个构建执行。

<build> 
    <plugins> 
     <plugin> 
      <artifactId>maven-clean-plugin</artifactId> 
      <version>3.0.0</version> 
      <executions> 
       <execution> 
        <id>auto-clean</id> 
        <phase>initialize</phase> 
        <goals> 
         <goal>clean</goal> 
        </goals> 
       </execution> 
      </executions> 
     </plugin> 
    <plugins> 
<build> 

我也有其他目标文件夹(我故意选择)存储日志和测试报告的其他文件夹。这些我不想在每次运行中清理,因为我希望它们在一段时间内参考。

该项目大致如下图所示。

Project 
|--src/main/java 
|--src/test/java 
|--target 
|--logs* 
+--reports* 

这里的日志和报告是我想要防止在每次运行中被删除的文件夹。 我能够管理报表和日志文件夹在每次运行中都未被删除的部分。 (相当直接,不要提你在构建中的两个文件夹)

但是,我还需要有一个maven命令来偶尔删除这两个特殊文件夹。我怎样才能做到这一点 ?

+1

通常命令行'rm -rf'这样做,你甚至需要maven来管理它与你在问题中说明的频率? – nullpointer

+0

@nullpointer,真..你可以。但是考虑如何让一个配置项(需要额外配置)挂接到whol进程,以及该项目的潜在用户专业知识,我宁愿坚持执行命令的一种方式。谢谢! – Asanke

回答

2

你可以考虑增加一个profile在其中设置一个不同的clean过程:

<profiles> 
    <profile> 
    <id>cleanLogs</id> 

    <build>...</build> 

    </profile> 
</profiles> 

mvn clean -PcleanLog调用它会调用特定的构建过程。
另请参阅this tutorial on maven profiles

+0

谢谢@VonC !!!有效! – Asanke

相关问题