2017-09-13 282 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

相關問題