2011-01-28 413 views
18

包含war的項目的package階段在target文件夾中準備爆炸式戰爭並將其打包到最終的war-文件中。Maven構建過程中prepare-package和package之間的執行點

是否有可能做一些修改,編輯文件,刪除文件等等,prepare-packagepackage相之間?我正在尋找一個擴展點(Maven execution-phase),其中資源已被複制並處於爆炸式戰爭結構中。

  1. [行家相]複製資源和爆炸到target/{finalName}
  2. [自定義]做一些複雜的自定義更改(例如使用maven-antrun實施)。
  3. [maven phase]將更改後的內容打包到最終的war中。

我認爲這可能在階段prepare-packagepackage之間。不幸的是在prepare-package之後,沒有爆炸戰爭可以改變並在以後打包。

你能不能給我一個提示,如何實現這一目標?非常感謝你。

+0

的Maven插件戰爭可以排除文件和過濾它們。也許你的需求更復雜? – Raghuram 2011-01-28 10:10:53

+0

需求更爲複雜,是的。我不能使用這個功能,它不夠強大。 – codevour 2011-01-28 10:13:24

回答

15

該配置在prepare-package階段調用exploded目標。這使您有機會在隨後的插件定義中處理分解的戰爭目錄,例如maven-antrun

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-war-plugin</artifactId> 
    <version>2.1.1</version> 
    <executions> 
    <execution> 
     <id>prepare-war</id> 
     <phase>prepare-package</phase> 
     <goals> 
     <goal>exploded</goal> 
     </goals> 
    </execution> 
    </executions> 
</plugin> 
1

這聽起來像你應該將antrun任務綁定到準備包階段,因爲此時資源已經被處理,參見Lifecycle Reference

相關問題